格式化tmux的pane_current_path

格式化tmux的pane_current_path

我正在尝试将 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/32426739https://stackoverflow.com/a/9757133

如果您的 shell 有“precmd”钩子(bash 和 zsh 有),则可以完成此操作;这个钩子将通过转义序列设置 tmux 的窗格标题,并且您可以使用#{pane_title}而不是#{pane_current_path}.对于 bash,添加如下内容~/.bashrc

[[ -n "$TMUX" ]] && PROMPT_COMMAND='echo -n -e "\e]2;${PWD##*/}\e\\"'

相关内容