3

Я знаю, как связать ключ с командой в tmux, но я хочу создать собственную команду (которую вы можете набирать с помощью префикса key + двоеточие). В этой пользовательской команде я хочу выполнить пару других команд.

Моя идея состоит в том, чтобы иметь что-то вроде этого:

no-side-status() {
    set status-left-length 0
    set status-right-length 0
}

side-status() {
    set status-left-length 50
    set status-right-length 150
}

Поэтому я могу набрать :no-side-status чтобы скрыть левую и правую строки состояния, и набрать :side-status чтобы восстановить левую и правую строки состояния.

Можно ли создавать такие пользовательские команды? Если так, как? Если нет, то есть ли другой способ добиться того, чего я хочу?

3 ответа3

1

Первоначально, tmux не имеет никакой поддержки пользовательских команд, кроме запуска сценариев внешней оболочки.

Есть мод, добавляющий полноценную поддержку сценариев в tmux: http://ershov.github.io/tmux/

Это также позволяет создавать пользовательские команды. Например, ваш будет выглядеть так:

proc no-side-status {} {
    set status-left-length 0
    set status-right-length 0
}

proc side-status {} {
    set status-left-length 50
    set status-right-length 150
}

Для использования из командной строки tmux просто введите C-b : и side-status или no-side-status .

Чтобы связать его с ключом, используйте bind C-p tcl side-status .

0

bind C-p run "/usr/bin/notify-send Foo"

0

Это полный ответ. Вы можете иметь две конфигурации Tmux. Один содержит

set status-left-length 0
set status-right-length 0
bind-key R source-file ~/.tmux.alternative.conf \; \
                    display-message "Alternative configuration loaded"

Другие содержат

set status-left-length 50
set status-right-length 15
bind-key R source-file ~/.tmux.conf \; \
                    display-message "Default configuration loaded"

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