tmux >= 1.9 開新視窗時繼承先前工作目錄

自從灌了新遠端工作用機器後,就發現 tmux (bind-key + c) 開新視窗 (window) 時無法繼承目前視窗的工作目錄 (working directory)。

究其原因,是自 tmux 1.9 後調整了 new window 的行為,把 default-path 給拿掉了 (參見官方的 git commit log,是說他們的 log 寫得超認真的),改以 -c 這個 option 來控制,如:

(執行方式: 在 tmux 下輸入 bind-key + : 再輸入這串指令)

上面的指令同時也是 -c config 的預設行為。然而這個行為是執行 tmux 之前的 shell 的 $PWD,而不是目前 tmux 視窗的 $PWD。相信很多人應該對這個改變很不習慣吧 (包括我)。

要回到以前的行為也很簡單,只要把 $PWD 改成 '#{pane_current_path}':

把常用的動作都寫在 .tmux.conf 裡面一勞永逸:

然後重開 tmux 即可。

PS.

  1. 若不想重開 tmux,可在 shell 下執行 tmux source-file ~/.tmux.conf ,強制重新讀取設定。
  2. 官方 log 寫著: The equivalent of default-path ‘~’ is left as an exercise for the reader. 當你在寫教科書啊XD

參考資料:

 

Sol Lee

Taiwanese. (A little) Python & R & Java programmer. I have interest in IT and ACG.