2012/12/13

zsh で cd を誤爆した時だけ pushd する

zsh は
setopt auto_pushd
としておくと、cd するたびにディレクトリスタックにディレクトリが積まれるので、"cd" と打って誤爆しても cd - で前のディレクトリに戻れるのでたまに使ってました。

けれど細かにcdする場合はディレクトリスタックに大量のディレクトリが積まれて分かりにくいのと、pushd/popd がほとんと使いものにならない状態だったり。

auto_pushd はあまり必要ないけれど、cd を誤爆った時のみリカバリできないかなー、とか思っていたので、試しに簡単なfunction書いてみたら割といけそうな感じに。

コードは以下。コードというか .zshrc に書く設定というか。

コードといっても cd に引数が無ければ pushd を呼んで引数があれば cd を呼ぶだけ。
これで上手くいくんじゃないかなー、とか思う。
実際 auto_pushd と比較した使い心地はこれから分かるであろうので謎。
cd のエラーはちゃんと吐くけれど微妙にメッセージが違ってたり。ちょっと違和感。

一応bashでも動いてる様子。というか使っているのがほとんど無いので基本どこでも動く?

0 件のコメント:

コメントを投稿