Posted at

ディレクトリ移動を手軽にするauto cdとcdpath

More than 5 years have passed since last update.


AUTO_CD

setopt AUTO_CDの1行を~/.zshrcに設定しておくと,ディレクトリ移動時にcdを打たなくても,ディレクトリと解釈できる文字列を打てばcdしてくれる


~/.zshrc

setopt AUTO_CD


cd foo/bar/baz # 設定前

foo/bar/baz # 設定後

これによりcdはホームディレクトリに移動するとき以外は使う必要がなくなる.ディレクトリ名がコマンド名と被ってしまうようなときは./rubyのように指定すればよい.cd rubyよりは楽.


cdpath

そしてAUTO_CDcdpathを合わせて設定するとより強力


~/.zshrc

setopt AUTO_CD

cdpath=(.. ~ ~/src)

この2行を追加しておけば,親ディレクトリやホームディレクトリ,~/src以下へはどこからでもディレクトリ名だけで移動できるようになる.プロジェクト間の移動も一瞬.


マニュアル

一応マニュアルへの参照を.それぞれman zshoptions, man zshparamに載っている.

$ man zshoptions

...
AUTO_CD (-J)
If a command is issued that can't be executed as a normal command, and the command is the name of a directory, perform the cd command to that directory.
...

$ man zshparam

...
cdpath <S> <Z> (CDPATH <S>)
An array (colon-separated list) of directories specifying the search path for the cd command.
...