Conseguenze dell'impostazione tmux 'escape-time 0'?


16

Trovo che quando si esegue (neo) VIM all'interno tmux, la chiave di escape viene ritardata. Questo è risolto mettendo

set -sg escape-time 0

nel mio .tmux.conf. Presumibilmente, questo disabilita la possibilità di usare ESC come chiave "meta". Supponendo che io lavori sempre con tastiere che hanno un tasto Alt per fungere da "meta", mi chiedo quali conseguenze potenzialmente indesiderabili potrebbero comportare questa impostazione.

Risposte:


16

L'impostazione escape-timesu zero interferisce con i tasti funzione di riconoscimento tmux. La sua pagina di manuale dice

escape-time time
Imposta il tempo in millisecondi per il quale tmux attende dopo l'immissione di un'evasione per determinare se fa parte di una sequenza di funzioni o meta-chiavi. L'impostazione predefinita è 500 millisecondi.

Il termine "tasto funzione" si applica a tutto ciò che ha quel formato (incluso pageup, usato nello scorrimento di tmux e tasti cursore). 500 millisecondi possono essere eccessivi se non lavori mai in remoto. 20 millisecondi è praticabile per le connessioni locali. L'analogo ESCDELAYin ncurses per impostazione predefinita è 1000 millisecondi; solo una minima parte degli utenti ritiene necessario modificarlo.


hmm ... i tasti freccia e il pageup sembrano funzionare bene in tmux, anche con il tempo di fuga impostato su 0
Michael Goerz,

1
La documentazione si riferisce alle associazioni di tasti gestite da tmux (non dalle applicazioni in esecuzione all'interno di tmux).
Thomas Dickey,

@AntoineCotten Potresti approfondire su questo? Pensavo che Metanon inviasse nulla fino a quando non fosse accoppiato con un tasto non funzionale, a quel punto avrebbe inviato la fuga e il tasto "allo stesso tempo" (meno ritardo rispetto a qualsiasi periodo di polling ragionevole, supponendo che eseguisse il polling invece di utilizzare gli interrupt o qualcosa.) Ho seguito il mio istinto e non ho mai impostato il timeout di escape su 10, soprattutto perché mi aspettavo che causasse problemi se il valore predefinito era così alto.
John P,

Il comportamento di Meta dipende dal terminale. tmuxnon ha alcun controllo su questo, ma conosce le chiavi speciali di xterm (in una tabella). Meta per una chiave ordinaria in xterm fa qualcosa (cerca eightBitInputnel manuale). Per altri terminali, può fare qualcosa, ma di solito non è documentato.
Thomas Dickey,

@JohnP @ThomasDickey In precedenza avevo commentato che le impostazioni escape-timesu 0 interferivano con i comandi Meta nel mio emulatore di terminale. Vorrei fare una correzione, questo era vero solo perché il terminale macOS utilizza Esccome chiave Meta . Non ci sono problemi quando si utilizza un tasto diverso come Alt . Ci scusiamo per il commento fuorviante (cancellato).
Antoine Cotten,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.