$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

zaw.zshで最近移動したディレクトリに移動する

 zshでanythingのような事ができるzaw.zshが便利だったので、いろいろ調べていたら最近のディレクトリに移動するというのも出来たので、紹介。

cdr

 まずzshを最新の4.3.15にすると、cdrっていうコマンドが出来てます*1。これを使うと最近行ったディレクトリに移動することができます。
 .zshrcには以下のような設定をしておくと良いです。

autoload -Uz chpwd_recent_dirs cdr add-zsh-hook
add-zsh-hook chpwd chpwd_recent_dirs
zstyle ':chpwd:*' recent-dirs-max 5000
zstyle ':chpwd:*' recent-dirs-default yes
zstyle ':completion:*' recent-dirs-insert both

zaw-src-cdr

 それでさらにzaw.zshを最新化すると、このcdrのsourceを作ったものができてます。sources/cdr.zshにある。これを使うとcdrをzaw.zshから使えるようになります。
 以下の設定をしておくと良いです。

source /path/to/zaw.zsh
zstyle ':filter-select' case-insensitive yes # 絞り込みをcase-insensitive
bindkey '^@' zaw-cdr # zaw-cdrをbindkey

 そうすると以下のようにキーワードで絞り込みながらディレクトリ移動できます。便利ですね。
f:id:shiba_yu36:20120131003404p:image

*1:たぶん5.3.11くらいから入ってた