如何将iterm2选项卡标题设置为正在运行的tmux会话名称?

Pra*_*u M 3 macos shell zsh iterm tmux

我知道tmux display-message -p'#S'将显示当前的tmux会话名称,但我不知道如何将当前的tmux会话名称设置为iterm2选项卡标题?

这将真正帮助我区分我同时运行的各种tmux会话并立即跳转到正确的选项卡.

小智 7

将这些添加到〜/ .tmux.conf中:

set-option -g set-titles on
set-option -g set-titles-string "#{session_name} - #{host}"
Run Code Online (Sandbox Code Playgroud)


mis*_*lav 1

将其粘贴到您的~/.zshrc

set_terminal_tab_title() {
  print -Pn "\e]1;$1:q\a"
}

indicate_tmux_session_in_terminal() {
  set_terminal_tab_title "$(tmux display-message -p '#S')"
}

precmd_functions=($precmd_functions indicate_tmux_session_in_terminal)
Run Code Online (Sandbox Code Playgroud)

precmd_functions是一个数组,在 zsh 中包含在显示提示之前调用的函数列表。如果您将自己的函数添加到列表中,每当显示提示时就会调用它,这使其成为定期更新终端选项卡标题的好地方。