fish 2.7.0 で cdh
というコマンドが追加されました。
これはディレクトリの履歴から cd
するディレクトリを選択できるものです。fish だとこれまで pushd
/ popd
とか z
とかを使ってディレクトリの移動はやりくりするしかなかったので、このコマンドの追加はかなりありがたいと感じています。zsh の cd -
や cdr
をご存知の方であれば、そういったユーザーフレンドリーなディレクトリ移動をサポートするものと思ってもらえればよいです。
まあ一回使ってみれば使い方はすぐわかるのでわざわざ紹介するまでもないのですが、どうせお前らリリースノートとか読んでないだろうからな!
使いかた
$ cdh
とだけ入力すると
$ cdh
d 4) ~/ghq/github.com/xxxxx
c 3) ~
b 2) ~/Desktop
a 1) /Library
とこんな感じで最近訪問したディレクトリがリストアップされますので、文字 (a...
) か数字 (1...
) で移動したいディレクトリを選択します。
ちなみに、cdh
にディレクトリを引数として渡すと cd
と同じ働きになるようです。つまりそのディレクトリに単純に移動します。
また、試していないのですが、man cdh
によると、ディレクトリ履歴は $dirprev
と $dirnext
という変数に格納されるため、それらの変数を universal variable にするとセッションを跨いで履歴を共有することができるようです。