tmuxウィンドウのタイトルを現在のディレクトリに設定しようとしています。これでpane_current_path
これはうまくいきますが、私のコンピュータのフルパスが印刷されます。
一部の形式を実行しpane_current_path
て現在のディレクトリを印刷することは可能ですか?
現在はこんなに使われています
setw -g window-status-current-format "#{pane_current_path}"
setw -g window-status-format "#{pane_current_path}"
答え1
Tmuxのマニュアルページの「フォーマット」セクションには、次のように記載されています。
b:
プレフィックスはd:
それぞれ変数のbasename(3)とdirname(3)です。
次のオプションでは、ウィンドウのタイトルを現在のディレクトリのデフォルト名に効果的に変更する必要があります。
setw -g automatic-rename-format "#{b:pane_current_path}"
答え2
(からインスピレーションを受けるhttps://stackoverflow.com/a/32426739そしてhttps://stackoverflow.com/a/9757133)
シェルに「precmd」フック(bashとzshがある)がある場合、このフックを使用すると、エスケープシーケンスを介してtmuxのウィンドウタイトルを設定でき、#{pane_title}
代わりに#{pane_current_path}
bashの場合は次のように追加できます~/.bashrc
。
[[ -n "$TMUX" ]] && PROMPT_COMMAND='echo -n -e "\e]2;${PWD##*/}\e\\"'