Tmux 1.9でウィンドウ分割後もカレントディレクトリに留まる


背景

Tmux 1.9で、new-windowその他の挙動が変更されました。新しく作られたウィンドウやペーンは、すべてホームディレクトリから始まるようになったのです。個人的には、new-windowに関してはこの挙動のほうが好ましい場合もあるかなと思います(別プロジェクトの作業環境を作る場合などは一旦ホームディレクトリに戻るのは合理的です、そしてnew-windowを使う場合はプロジェクトを変更するケースも多いでしょう)。しかし、split-windowに関しては納得できませんでした。通常ウィンドウを分割する場合、同じプロジェクトで複数のペーンを使いたいケースがほとんどではないでしょうか。ならば、同じディレクトリに留まっていてほしい。

やってみた

split-windowには%"がバインディングされているので、それを変更します。

.tmux.conf
# 1.9 changed the behaviour of split-window and new-window.
# I prefer the old style for split-window.
unbind %
bind-key % split-window -h -c "#{pane_current_path}"
unbind '"'
bind-key '"' split-window -v -c "#{pane_current_path}"

注意事項

試してないのですが、1.8以前では以上のコードは動作しないようです。if-shellコマンドでバージョン判定ができるようですので、それでやるしかないようです。少し面倒ですね。

参考資料