47

Я хочу пометить вкладки окна терминальных сессий. Я использую zshell в iterm2 на OSX. Можно ли динамически изменить метку вкладки окна в терминале?

6 ответов6

47

Вы можете ввести следующее в zsh чтобы установить заголовок окна iTerm2:

echo -ne "\e]1;this is the title\a"

Если вы хотите автоматизировать это для вставки, например, текущего времени или рабочего каталога, отредактируйте ваши файлы конфигурации zsh установив для заголовка в функции precmd() например, $PWD .

echo -ne "\e]1;$PWD\a"

Вы можете прочитать о функции precmd в man zshmisc в разделе SPECIAL FUNCTIONS .

43

Что работает для меня:

echo -e "\033];this is the title\007"

Если вы используете Mac OSX и iTerm, iTerm2::

  • iTerm → Настройки → Внешний вид → Заголовки окон и вкладок → снять все

Если вы используете zsh, то вам может потребоваться изменить настройки. Ваши настройки обычно находятся в файле ~/.zshrc . Вы хотите добавить или изменить настройки, чтобы убедиться, что эта строка существует:

DISABLE_AUTO_TITLE="true"
36

Одним из преимуществ использования iTerm является возможность отдельно устанавливать заголовок окна и заголовок вкладки:пример использования вкладки и заголовка окна отдельно

# $1 = type; 0 - both, 1 - tab, 2 - title
# rest = text
setTerminalText () {
    # echo works in bash & zsh
    local mode=$1 ; shift
    echo -ne "\033]$mode;$@\007"
}
stt_both  () { setTerminalText 0 $@; }
stt_tab   () { setTerminalText 1 $@; }
stt_title () { setTerminalText 2 $@; }

Таким образом, вы можете сразу увидеть, к какому хосту вы подключены, в каком окне, а заголовок окна для каждой вкладки показывает пользователя и CWD.

4

precmd делает свое дело. Тем не менее, некоторые темы oh-my-zsh возятся с заголовком окна. Установите PR_TITLEBAR в пустую строку, чтобы исправить это.

set-window-title() {
  # /Users/clessg/projects/dotfiles -> ~/p/dotfiles
  window_title="\e]0;${${PWD/#"$HOME"/~}/projects/p}\a"
  echo -ne "$window_title"
}

PR_TITLEBAR=''
set-window-title
add-zsh-hook precmd set-window-title

Я бы также порекомендовал поиграть с настройками вкладок iTerm2 в Настройки -> Внешний вид.

1

Добавление export PROMPT_COMMAND='echo -ne "\033]0;$PWD\007"' в ~/.bash_profile сработало для меня.

https://apple.stackexchange.com/a/90737/49605

-2

iTerm -> Настройки -> Внешний вид -> Заголовки окон и вкладок -> установить флажок Показать имя профиля

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .