Seleccione ventanas en tmux usando el teclado numérico

2

Me gustaría usar el teclado numérico para seleccionar ventanas en tmux. ¿Alguien hace esto?

    
pregunta chrismealy 27.01.2012 - 20:58

2 respuestas

1

Si su emulador de terminal genera ciertos códigos para las teclas del teclado, entonces estos comandos (por ejemplo, en su .tmux.conf ) se unirán a Keypad 0 - Keypad 9 para que funcione exactamente como prefijo + 0 - prefijo + 9 :

bind-key -n KP0 select-window -t :0
bind-key -n KP1 select-window -t :1
bind-key -n KP2 select-window -t :2
bind-key -n KP3 select-window -t :3
bind-key -n KP4 select-window -t :4
bind-key -n KP5 select-window -t :5
bind-key -n KP6 select-window -t :6
bind-key -n KP7 select-window -t :7
bind-key -n KP8 select-window -t :8
bind-key -n KP9 select-window -t :9

El -n significa que no tiene que usar la clave de prefijo; los nombres clave ( KPx ) no parecen estar en la documentación, pero puede encontrarlos en la fuente en el archivo key-string.c . Los valores que su terminal debe enviar parecen estar codificados: consulte tty-keys.c ; TTYKEY_RAW significa que no se usa terminfo, y no hay otras entradas para las teclas KEYC_KP * sin TTYKEY_RAW (donde se puede consultar terminfo; el problema aquí es que el soporte de terminfo para el teclado numérico parece estar incompleto).

Puede verificar si su emulador de terminal envía códigos especiales para las claves ejecutando esto fuera de tmux :

tput smkx;cat -v;tput rmkx

(use Control + c para finalizar la instancia cat )

Probablemente debería ver algo como esto para KP0 – KP9:

^[Op^[Oq^[Or^[Os^[Ot^[Ou^[Ov^[Ow^[Ox^[Oy

Esto me funciona de manera predeterminada en iTerm2 (compilación 1.0.0.20120724), pero en Terminal (versión 2.3 (309); de OS X 10.8.2) I tenía que habilitar Permitir el modo de teclado de la aplicación VT100 para un perfil ( Terminal menú > Preferencias ... ; Configuración pestaña & gt ; selecciona un perfil > Avanzado , marca Permitir el modo de teclado de la aplicación VT100 en Emulación ).

    
respondido por el Chris Johnsen 03.12.2012 - 07:42
0

Si tiene habilitado el bloqueo numérico, el teclado envía la misma entrada al terminal que las teclas numéricas sobre las letras qwerty, por lo que no hay manera de especificar el teclado específicamente. Puede intentar asignar las entradas no numéricas desde el teclado, pero creo que eso es específico de su teclado y terminal.

Para asignar una clave sin necesidad de Prefijo , use bind-key -n key command . El -n significa "modo normal". Por lo tanto, los comandos que probablemente desee agregar son:

bind-key -n 0 select-window -t 0
bind-key -n 1 select-window -t 1
bind-key -n 2 select-window -t 2
bind-key -n 3 select-window -t 3
bind-key -n 4 select-window -t 4
bind-key -n 5 select-window -t 5
bind-key -n 6 select-window -t 6
bind-key -n 7 select-window -t 7
bind-key -n 8 select-window -t 8
bind-key -n 9 select-window -t 9
    
respondido por el Anthony DiSanti 29.11.2012 - 19:34

Lea otras preguntas en las etiquetas