格式化tmux的pane_current_path

mha*_*ton 5 tmux

我正在尝试将 tmux 窗口的标题设置为我所在的当前目录。现在pane_current_path非常适合此操作,但它会在我的机器中打印完整路径。

是否可以pane_current_path通过某些格式运行并仅打印出当前目录?

目前像这样使用它

setw -g window-status-current-format "#{pane_current_path}"
setw -g window-status-format "#{pane_current_path}"
Run Code Online (Sandbox Code Playgroud)

小智 6

Tmux 手册页的“格式”部分显示:

b:和前缀d:分别是变量的basename(3) 和dirname(3)。

以下选项应有效地将窗口的标题更改为当前目录的基本名称:

setw -g automatic-rename-format "#{b:pane_current_path}"


sen*_*nfo 5

(灵感来自/sf/answers/2269871761//sf/answers/682999341/

如果您的 shell 有一个“precmd”钩子(bash 和 zsh 可以),则可以这样做;这个钩子将通过转义序列设置TMUX的窗格标题,你会使用#{pane_title}替代#{pane_current_path}。对于 bash,将这样的内容添加到~/.bashrc

[[ -n "$TMUX" ]] && PROMPT_COMMAND='echo -n -e "\e]2;${PWD##*/}\e\\"'
Run Code Online (Sandbox Code Playgroud)