Seleziona windows in tmux usando il tastierino numerico

2

Vorrei usare il tastierino numerico per selezionare windows in tmux. Qualcuno lo fa?

    
posta chrismealy 27.01.2012 - 20:58
fonte

2 risposte

1

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 ).

    
risposta data 03.12.2012 - 07:42
fonte
0

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
    
risposta data 29.11.2012 - 19:34
fonte

Leggi altre domande sui tag