Da tempo in agguato su Stack Exchange, ho trovato le risposte alla maggior parte dei miei problemi senza la necessità di creare un account. Ma oggi sono completamente sconcertato da questo problema, quindi cerco aiuto.
Recentemente ho scoperto Byobu, un frontend per Tmux che utilizza i tasti Fn per attività comuni. È una vera benedizione per il multitasking tramite SSH su un server Linux remoto dal PC Windows che devo usare al lavoro.
Attualmente sto usando gnome-terminal attraverso un tunnel SSH perché sia PuTTY che MinTTY (il terminale predefinito con Cygwin) sembrano inviare i codici chiave errati per i tasti funzione.
Mi chiedevo se esistesse un modo per mappare nuovamente alcuni codici di escape in modo che almeno uno dei miei terminali basati su Windows potesse funzionare correttamente con Tmux. (Immagino di poter semplicemente imparare le combinazioni di tasti Ctrl + b / Ctrl + a, ma eseguire una combinazione di tasti seguita da un altro tasto non mi sembra davvero ergonomico.)
In PuTTY, impostare Terminale> Tastiera> "I tasti funzione e tastiera" su "XtermR6" sembra spingere normalmente le corrette sequenze di escape per i tasti Fn, ma i modificatori Shift e Ctrl sono interrotti. Posso usare Vim per capire quali codici vengono inviati da ciascun terminale. Nel frattempo, penso che avrei potuto cercare la combinazione che tmux sta cercando nel suo codice sorgente , ma non sono sicuro:
Key Tmux Expects Gnome-Terminal PuTTY MinTTY
Normal F3: ^[0R ^[0R ^[0R
Ctrl+F3 "\033[13^" ^[01;5R ^[0R ^[[1;5R
Shift+F3 "\033[13$" ^[01;2R ^[[25~ ^[[1;2R
Ctrl+Shift+F3 "\033[13@" ^[01;6R ^[[25~ ^[[1;6R
Finora, MinTTY sembra il miglior candidato, ma mi dà un problema completamente diverso in cui byobu ignora il 95% delle pressioni dei tasti Fn, passandole direttamente all'applicazione client. Posso eseguire cat -v e spam il tasto F2 (nuova finestra), e stamperà "^ [0Q" quattro o cinque volte prima di generare improvvisamente una nuova finestra.
Se qualcuno ha un consiglio, sarebbe il benvenuto. La maggior parte delle cose che ho trovato su Internet ha detto di cambiare il tipo di terminale, ma ho provato letteralmente ogni combinazione offerta da ciascuno dei due programmi.
Grazie!
kf3
da qualunque TERM si stia utilizzando durante il collegamento a tmux ) nonché le sequenze di tasti modificati in stile xterm dixterm-keys.c
. Quindi, le sequenze riportate da Gnome-Terminal e MinTTY (sebbene l'escape + gli zeri nelle tue sequenze dovrebbero essere escape + letter-ohs (aka SS3) dovrebbero essere riconosciute da tmux , ma le passeranno solo se hai ilxterm-keys
opzione abilitata