Vorrei usare il tastierino numerico per selezionare windows in tmux. Qualcuno lo fa?
Vorrei usare il tastierino numerico per selezionare windows in tmux. Qualcuno lo fa?
Se il tuo emulatore di terminale emette determinati codici per i tasti della tastiera, allora questi comandi (es. in .tmux.conf
) eseguiranno il binding di Tastiera 0 - Tastiera 9 per funzionare esattamente come prefisso + 0 - prefisso + 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
Il -n
significa che non devi usare la chiave del prefisso; i nomi delle chiavi ( KPx
) non sembrano essere nella documentazione, ma puoi trovarli nella sorgente nel file key-string.c
. I valori che il tuo terminale deve inviare sembrano essere hardcoded: vedi tty-keys.c
; TTYKEY_RAW significa che terminfo non è usato, e non ci sono altre voci per le chiavi KEYC_KP * senza TTYKEY_RAW (dove terminfo potrebbe essere consultato, il problema qui è che il supporto terminfo per il tastierino numerico sembra essere incompleto).
Puoi controllare se il tuo emulatore di terminale invia codici speciali per i tasti eseguendo questo all'esterno tmux :
tput smkx;cat -v;tput rmkx
(usa Controllo + c per terminare l'istanza cat
)
Probabilmente dovresti vedere qualcosa di simile a KP0-KP9:
^[Op^[Oq^[Or^[Os^[Ot^[Ou^[Ov^[Ow^[Ox^[Oy
Questo funziona per impostazione predefinita in iTerm2 (Build 1.0.0.20120724), ma in Terminale (Versione 2.3 (309); da OS X 10.8.2) I ha dovuto abilitare Consenti modalità tastiera applicazione VT100 per un profilo ( Terminale menu > Preferenze ... ; Impostazioni scheda & gt ; seleziona una scheda > Avanzate ; controlla Consenti modalità tastiera applicazione VT100 in Emulazione ).
Se hai attivato numlock, la tastiera invia lo stesso input al terminale come i tasti numerici sopra le lettere qwerty, quindi non c'è modo di specificarlo in modo specifico. Puoi provare a mappare gli ingressi non numerici dalla tastiera, ma penso che sia specifico per la tua tastiera e il tuo terminale.
Per mappare una chiave senza richiedere il prefisso , usa bind-key -n key command
. Il -n
sta per "modalità normale". Quindi i comandi che probabilmente vorrai aggiungere sono:
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
Leggi altre domande sui tag keyboard