7

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

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

4

4 回答 4

10

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

set-option -g set-titles on
set-option -g set-titles-string "#{session_name} - #{host}"
于 2015-02-23T15:26:03.780 回答
1

将 Hello World 显示为标题的 Bash 版本:

echo -ne "\033]0; Hello World \007"

如果您希望每次 bash 打印您的提示时刷新标题:

export PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}: ${PWD/#$HOME/~}\007"'

在http://hints.macworld.com/article.php?story=20031015173932306上找到它

于 2014-02-08T15:58:01.270 回答
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)

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

于 2013-07-04T21:44:16.227 回答
1

我的工作流程通常以窗格为中心,我不使用 tmux,所以我使用了 @mislav 答案的细微变化:

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

precmd_functions=($precmd_functions set_terminal_tab_title)

我把它扔进了我的 zshrc;然后,在每个窗格中,我export TABTITLE='FOO'. 这样,当我切换窗格时,我会在选项卡上获得我想要的标题。

于 2018-04-20T19:19:07.130 回答