完整可执行路径的 msys2 中的长 tmux 窗口名称

完整可执行路径的 msys2 中的长 tmux 窗口名称

当我在 Windows 上的 msys2 中运行 tmux 内的可执行文件时,窗口名称会给出完整的可执行文件名称,有时会很长。例如,我当前的选项卡名称是:

C:\\Users\\me\\Anaconda3\\python.exe

(是的,那些是双斜线\\

虽然我喜欢更新我正在运行的任何内容的功能,但如果这只是 就更好了python。我的猜测是 tmux 正在尝试解析形式的目录/c/Users/me/Anaconda3/python(因为catjust 显示为cat而不是/usr/bin/cat),有时这种格式和有时窗口格式的奇怪混合对 tmux 来说效果不佳。

知道如何让 tmuxpython在 python 运行时仅显示为选项卡名称吗?

答案1

Tmux 支持在选项中替换变量名。您需要操作的两个选项是 window-status-format 和 window-status-current-format。

因此,例如,要使窗口编号后跟当前命令,您通常会在中执行如下操作.tmux.conf

setw -g window-status-format "#I > #pane_current_command "
setw -g window-status-current-format "#I > #pane_current_command "

但是我们可以对 pane_current_command 进行正则表达式替换,#{s_string1_string2_:pane_current_command}它会用 string2 替换出现的 string1。我们将使用贪婪通配符替换反斜杠之前的所有内容.*\\\\,并将其替换为空。我们还将使用正则表达式或替换 .exe |。所以我们的最终结果是:

setw -g window-status-format "#I > #{s_.*\\\\|\.exe__:pane_current_command} "
setw -g window-status-current-format "#I > #{s_.*\\\\|\.exe__:pane_current_command} "

现在标签将显示pythonC:\\Users\\me\\Anaconda3\\python.exe

相关内容