ずっと cdd ( http://secondlife.hatenablog.jp/entry/20080218/1203303528 ) を使ってたけど、以下のような感じでいいかなと思ったのでついに使うのをやめてみた。(cdd はスクリーンの別ウィンドウのディレクトリに簡単に移動するためのコマンド)
function cdd() { local selected_dir=$(lsof -c zsh -w -Ffn0 | perl -anal -e '/cwd/ and print((split /\0.?/)[1])' | uniq | peco) if [ -n "$selected_dir" ]; then cd ${selected_dir} fi }
実際のところウィンドウ番号じゃなくて一覧から選択できたほうが嬉しいなと思い peco に託すことにした。
ディレクトリ一覧は lsof で起動中の zsh プロセスの cwd を全部とってくることにした。
しばらくこれでやってみる。