Заставить TMUX использовать Alt + Num для выбора окна

10

Я возился с TMUX, и мне нравятся возможности конфигурации.

Список окон внизу заставляет меня думать, что тот же ярлык для изменения окон в Irssi должен работать в TMUX, но это не так.

Поэтому в данный момент я должен нажать Cb, а затем число, чтобы открыть это окно. Я счастлив иметь Cb для моего обычного префикса (например, для Cb? Для справки, Cb: ввод команды) Но было бы здорово, если бы я мог использовать и C-b + Numkey и Alt+ NumKeyдля смены вкладок.

Было бы еще круче, если бы он мог обнаружить, показывает ли окно Irssi, а затем игнорировать знак Alt+ NumKey, чтобы я все еще мог переключаться между окнами Irssi.

Линдон Уайт
источник

Ответы:

14

Переключение окон с помощью Alt можно сделать, добавив:

# switch windows alt+number
bind-key -n M-1 select-window -t 1
bind-key -n M-2 select-window -t 2
bind-key -n M-3 select-window -t 3
bind-key -n M-4 select-window -t 4
bind-key -n M-5 select-window -t 5
bind-key -n M-6 select-window -t 6
bind-key -n M-7 select-window -t 7
bind-key -n M-8 select-window -t 8
bind-key -n M-9 select-window -t 9

на ваш ~/.tmux.conf Это от: https://github.com/proft/dotfiles/blob/master/.tmux.conf

Более того, чтобы не делать этого, если irssi находится в активном окне:

#switch windows alt+number, unless we are running irssi
bind -n M-1 if 'test `tmux list-panes -F "#W"` != "irssi"' 'select-window -t 1' 'send M-1'
bind -n M-2 if 'test `tmux list-panes -F "#W"` != "irssi"' 'select-window -t 2' 'send M-2'
bind -n M-3 if 'test `tmux list-panes -F "#W"` != "irssi"' 'select-window -t 3' 'send M-3'
bind -n M-4 if 'test `tmux list-panes -F "#W"` != "irssi"' 'select-window -t 4' 'send M-4'
bind -n M-5 if 'test `tmux list-panes -F "#W"` != "irssi"' 'select-window -t 5' 'send M-5'
bind -n M-6 if 'test `tmux list-panes -F "#W"` != "irssi"' 'select-window -t 6' 'send M-6'
bind -n M-7 if 'test `tmux list-panes -F "#W"` != "irssi"' 'select-window -t 7' 'send M-7'
bind -n M-8 if 'test `tmux list-panes -F "#W"` != "irssi"' 'select-window -t 8' 'send M-8'
bind -n M-9 if 'test `tmux list-panes -F "#W"` != "irssi"' 'select-window -t 9' 'send M-9'
bind -n M-0 if 'test `tmux list-panes -F "#W"` != "irssi"' 'select-window -t 0' 'send M-0'

Что примерно читает Bind key [без обязательного префикса], к действию: проверьте, если текущая панель не названа irssi, и если нет, то выберите соответствующее окно, в противном случае, повторно отправьте ключ, чтобы базовое приложение [irssi] может получить это.

Линдон Уайт
источник
Совет IRSSI - это то, что я искал. Спасибо.
rr-