zshのsetoptを試してみる(ディレクトリ変更)

ディレクトリ変更に関するzshのsetoptを試してみる。

auto_cd

ディレクトリ名だけで移動できるようになる。

$ /tmp
$ pwd
/tmp

auto_pushd

cd時に自動でpushdされてディレクトリがスタックされる。

.zshrcに下記のような設定をしてれば

autoload -Uz compinit
compinit
zstyle ':completion:*' menu select
zstyle ':completion:*:cd:*' ignore-parents parent pwd
zstyle ':completion:*:descriptions' format '%BCompleting%b %U%d%u'

「cd -[Tab]」で、移動先の候補が表示できる。(「cd +[Tab]」で逆順)

$ cd -
Completing directory stack
0 -- /home/vagrant
1 -- /tmp
2 -- /var

pushd_ignore_dups

設定していないと、同じディレクトリがスタックされる。

$ cd -
Completing directory stack
0 -- /home/vagrant
1 -- /tmp
2 -- /tmp
3 -- /tmp

設定していると、同じディレクトリはスタックされなくなる。