pushd をうまく打てないゴミカスな僕

どーもです。


突然ですが,pushd,dirs 使ってますか?
ワタシは使ってるというか,これがないと死亡コースなわけでして。
しかし!!!
よく,pushd を pusdh とか色々タイプミスするぽんこつなワタシでして。
そこで,エイリアスして,

alias pd='pushd'
alias ds='dirs'

としているわけです。


teratermCygwin に接続して使用している分には,すごく快適。
タイプミスのしようがない。万々歳!
と思ってたのもつかの間,Emacs 内の shell で使用すると
問題が発生したわけです。
pd を使うと,Emacs 内でのカレントディレクトリが変更されないのです。
pd してから M-x pwd とかするとわかります。
これは非常に困ります。ファイル名の補完も効かなくなります。
この問題に気づいて放置したのが1年以上前だったはず。
それ以降 Emacs 内の shell では,pushd を使用していました。苦痛やで。


んでですね,昨日ふと解決策を調べてみるかと思い,
shell.el を開いて,んなわけないよねーとか思いながら,pushd で検索してみたのです。

そしたらがびーん。

(defcustom shell-pushd-regexp "pushd"
  "Regexp to match subshell commands equivalent to pushd."
  :type 'regexp
  :group 'shell-directories)

なんかいきなりそれっぽいの見つかっちゃったんですけど−。

ちゅうわけで,以下を .emacs とかに書き書き。

(setq shell-pushd-regexp "\\(pushd\\|pd\\)")

これで今のところ万事解決しています。
他にもおもしろそうな変数が用意されているようなので,
またそのうち見てみるかもです。


まとめると,

と。