Conseqüências da configuração tmux 'escape-time 0'?

16

Acho que ao executar o (neo) vim dentro tmux, a tecla de escape está atrasada. Isso é corrigido colocando-se

set -sg escape-time 0

no meu .tmux.conf. Presumivelmente, isso desativa a possibilidade de usar ESC como a chave "meta". Supondo que eu sempre trabalho com teclados que possuem uma tecla Alt para atuar como "meta", estou me perguntando quais consequências potencialmente indesejáveis ​​essa configuração pode acarretar.

Michael Goerz
fonte

Respostas:

16

Ajustar escape-timepara zero interfere no reconhecimento de teclas de função do tmux. Sua página de manual diz

escape-time time
Defina o tempo em milissegundos pelo qual o tmux espera após a entrada de escape para determinar se faz parte de uma função ou de uma sequência de meta-chaves. O padrão é 500 milissegundos.

O termo "tecla de função" se aplica a qualquer coisa que tenha esse formato (incluindo paginação, usada na rolagem pelo tmux e teclas de cursor). 500 milissegundos pode ser excessivo se você nunca trabalhar remotamente. 20 milissegundos é viável para conexões locais. O análogo ESCDELAYem ncurses é padronizado para 1000 milissegundos; apenas uma fração muito pequena dos usuários acha necessário mudar isso.

Thomas Dickey
fonte
hmm ... Setas e pageup parecem funcionar bem em tmux, mesmo com set-time fuga para 0
Michael Goerz
1
A documentação refere-se a ligações de teclas manipuladas pelo tmux (não os aplicativos em execução no tmux).
Thomas Dickey
@AntoineCotten Você poderia expandir isso? Eu pensei que isso Metanão enviou nada até que fosse emparelhado com uma tecla que não funcionasse; nesse momento, enviaria a tecla escape e a tecla "ao mesmo tempo" (menos atraso do que qualquer período razoável de pesquisa, supondo que ela pesquisasse em vez de usar interrupções ou .) Segui meu instinto e nunca defini o tempo limite de escape abaixo de 10, principalmente porque esperava causar problemas se o padrão fosse tão alto.
John
O comportamento do Meta depende do terminal. tmuxnão tem controle sobre isso, mas conhece as chaves especiais do xterm (em uma tabela). Meta para uma chave comum no xterm faz alguma coisa (procure eightBitInputno manual). Para outros terminais, pode fazer algo, mas geralmente não é documentado.
Thomas Dickey
@JohnP @ThomasDickey Eu já comentei que as configurações escape-timepara 0 interferiam nos comandos Meta no meu emulador de terminal. Eu gostaria de fazer uma correção, isso só é verdade porque o terminal do macOS usa Esccomo chave Meta . Não há problema ao usar uma chave diferente como Alt . Desculpas pelo comentário enganoso (excluído).
Antoine Cotten