33

Прямо сейчас заголовок по умолчанию - reattach-to-user-namespace (OS X), что довольно раздражает. Есть ли вариант, который я могу вставить в свой tmux.conf чтобы получить еще один заголовок по умолчанию?

Если нет, то как мне связать ключ, который создает новое окно, а затем запрашивает имя?

4 ответа4

38

Не существует глобального имени окна по умолчанию, которое применяется ко всем новым окнам; они по умолчанию (часть) первого «слова» команды (или оболочки по умолчанию, если команды нет). Ваши окна, вероятно, по reattach-to-user-namespace default-command потому что вы - первый интересный элемент значения команды по умолчанию .

Это было бы немного округло, но вы могли бы поместить свою команду по умолчанию в сценарий оболочки и указать вместо нее свою команду по default-command . При такой конфигурации имя окна по умолчанию (для окон, созданных без явной команды) будет таким, как вы назвали сценарий оболочки.

Иначе, есть несколько способов вручную назвать / переименовать окно:

  • Во время создания с -n:

    new-window -n 'some name'
    

    Вы можете повторно связать c (ключ по умолчанию, используемый для создания окна), чтобы включить «имя по умолчанию» по вашему выбору:

    bind-key c new-window -n 'default name'
    
  • Переименуйте существующее окно:

    rename-window 'new name'
    

    Существует также привязка по умолчанию (Prefix ,), которая запросит у вас новое имя и переименует окно.

  • Переименуйте окно с помощью «escape-последовательности», отправленной на tty панели:

    # E.g. in a shell:
    printf '\033kWINDOW_NAME\033\\'
    

Ваше «запросить у меня имя для нового окна» может быть сделано следующим образом (запрос до или после создания окна):

bind-key C command-prompt -p "Name of new window: " "new-window -n '%%'"

bind-key C new-window \; command-prompt -p "Name for this new window: " "rename-window '%%'"
3

tmux выбирает первую команду в качестве имени окна.

Скажем, вы хотите, чтобы "i" было заголовком по умолчанию, вы можете обмануть его следующим образом.

set-option -g default-command "i > /dev/null 2>&1; reattach-to-user-namespace -l bash"

Это лучше чем

set-option -g default-command "tmux rename-window i; reattach-to-user-namespace -l bash"

потому что если вы создаете панель после того, как вы вручную задали заголовок окна, заголовок снова будет переименован в "i".

0

На самом деле не ответ больше, чем взломать

Я создал символическую ссылку с

sudo ln -s /usr/local/bin/reattach-to-user-namespace /usr/local/bin/pbash

И теперь он показывает pbash как заголовок по умолчанию.

0

Помимо ответа Криса на установку заголовка окна с использованием new window -n 'somename' , вы также можете указать пустую строку '' в качестве имени окна. Таким образом, я могу использовать ярлык по умолчанию (префикс + c), и мне не нужно придумывать имя для временных окон, но я все равно могу переименовать их при необходимости:

bind-key c new-window -n ''

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