Hacer que TMUX use Alt + Num para seleccionar la ventana

10

He estado jugando con TMUX y me gustan las capacidades de configuración.

La lista de ventanas en la parte inferior me hace pensar que el mismo atajo para cambiar ventanas en Irssi debería funcionar en TMUX, pero no es así.

Entonces, en este momento, tengo que presionar Cb y luego un número para abrir esa ventana. Estoy feliz de tener Cb para mi prefijo normal, (por ejemplo, ¿para Cb? Para ayuda, Cb: entrada de comando) Pero sería genial si pudiera usar C-b + Numkey y Alt+ NumKeypara cambiar las pestañas.

Sería aún más genial si pudiera detectar si una ventana muestra Irssi, y luego ignorar el Alt+ NumKey, de modo que todavía pueda cambiar entre ventanas Irssi.

Lyndon White
fuente

Respuestas:

14

El cambio de ventanas con Alt se puede hacer agregando:

# 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

a su ~/.tmux.conf Esto es de: https://github.com/proft/dotfiles/blob/master/.tmux.conf

Además, para que no haga esto si irssi está en la ventana activa:

#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'

Que lee aproximadamente la clave de enlace [sin requerir prefijo], a la acción de: verificar si el panel actual no se llama irssi, y si no es así, seleccione la ventana adecuada, de lo contrario, vuelva a enviar la clave, de modo que la aplicación subyacente [irssi] puede puede conseguirlo.

Lyndon White
fuente
El consejo irssi es justo lo que he estado buscando. Gracias.
rr-