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



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

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

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

set-option -g set-titles on
set-option -g set-titles-string "#{session_name} - #{host}"

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

set_terminal_tab_title() {
  print -Pn "e]1;$TABTITLE:qa"
}
precmd_functions=($precmd_functions set_terminal_tab_title)

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

将其粘贴到~/.zshrc:中

set_terminal_tab_title() {
  print -Pn "e]1;$1:qa"
}
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中包含在显示提示之前要调用的函数列表。如果您将自己的函数添加到列表中,则每当显示提示时都会调用它,这使它成为定期更新终端选项卡标题的好地方。

Bash版本以标题形式显示Hello World:

echo -ne "33]0; Hello World 07"

如果你想在每次bash打印提示时刷新标题:

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

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

相关内容

  • 没有找到相关文章

最新更新