我正在尝试将 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)
如果您的 shell 有“precmd”钩子(bash 和 zsh 有),则可以完成此操作;这个钩子将通过转义序列设置 tmux 的窗格标题,并且您可以使用#{pane_title}
而不是#{pane_current_path}
.对于 bash,添加如下内容~/.bashrc
:
[[ -n "$TMUX" ]] && PROMPT_COMMAND='echo -n -e "\e]2;${PWD##*/}\e\\"'