将 tmux 标题设置为路径

one*_*elf 5 tmux

我当前正在设置 tmux,通过执行以下操作将窗口标题更新为当前运行命令的名称:

set-option -g set-titles on
set-option -g set-titles-string '#S:#I.#P #W' # window number,program name,active (or not)
set-window-option -g automatic-rename on      # auto name
Run Code Online (Sandbox Code Playgroud)

但是,当没有执行命令时,它只显示“N:zsh”(其中N是窗口号)。

有没有办法在没有执行命令时在窗口标题中显示路径的当前最后一个元素?因此,如果当前路径是/usr/src/linux,则窗口标题应为“N:linux”。

谢谢

小智 4

我有一个半解决方案来展示两者:

# window titles
set-window-option -g window-status-current-format ' #[fg=white]** #[fg=white,bold][#{window_index}] #[fg=green]#{pane_current_command} #[fg=cyan]#(pwd="#{pane_current_path}"; echo ${pwd####*/}) #[fg=white]**'
set-window-option -g window-status-format '#[fg=colour244,bold][#{window_index}] #[fg=colour244]#{pane_current_command} #[fg=colour244]#(pwd="#{pane_current_path}"; echo ${pwd####*/})'
Run Code Online (Sandbox Code Playgroud)

将这些行添加到您的中~/.tmux.conf,将得到:

在此输入图像描述