Minha configuração do terminal é gnome-terminal + tmux + zsh com ligações do vi.
Em aplicativos como o vim ou mesmo no modo de edição da linha de comando vi do zsh, preciso pressionar a ESCtecla frequentemente, mas há um pequeno atraso antes que os efeitos dessa chave ocorram. Veja GNU Screen torna a tecla ESC do Vim lenta
Após algumas experiências, descobri que pressionar a ESCtecla e imediatamente outra tecla (digamos b) tem o mesmo efeito que pressionar Alt+b. Não sei por que esse é o caso (provavelmente por motivos de legado, quando não havia Alt? Não sei). De qualquer forma, tenho duas Altchaves e não quero esse comportamento com a minha ESCchave. Eu tentei com C+[e é o mesmo problema com isso também.
Não tenho certeza de quem é responsável por isso, gnome-terminal ou tmux ou meu próprio sistema operacional (Ubuntu Natty). Qualquer idéia de como lidar com isso seria ótimo.
Atualização : verifiquei sem tmux em um terminal diferente (LXTerminal) e o atraso também está presente lá.
Respostas:
Aqui está uma correção real. Adicione o seguinte a
.tmux.conf
:fonte
tmux kill-server
isso para entrar em vigor.tmux-prefix
(padrãoCtrl+b
) seguido por:
e digitandosource-file $HOME/.tmux.conf
.O atraso é causado pelas rotinas de entrada que podem ter que decidir se uma tecla de função foi pressionada ou não. Para isso, a rotina de entrada inicia um temporizador sempre que lê em um caractere ESC. Os caracteres que são lidos da entrada antes que o temporizador se esgote (digamos um décimo de segundo) são então interpretados como sequência ESC de uma tecla de função e essa sequência ESC será comparada com seqüências conhecidas de secuências ESC do terminfo ou do base de dados termcap (depende de quais rotinas de baixo nível são usadas).
É claro que isso é irritante para aplicativos em que o ESC é usado por si só, mas não conheço nenhuma solução alternativa para isso.
Em relação à sua pergunta com o comportamento de ESC a= Meta a:
Meta chaves não estavam disponíveis em todos os teclados. Como solução alternativa, muitas vezes era permitido usar a tecla ESC para pressionar antes da outra tecla.
fonte
Embora isso possa não corrigir diretamente o seu problema, descobri que posso usá-lo
<Ctrl> c
para sair do modo de inserção. Isso também pode ser usado para sair da rolagem de tela do tmux (que pode ser chamada usando<leader> PgUP
)fonte
<C-c>
para sair do modo de inserção no uso regular, pois ele não executa oInsertLeave
comando automático que alguns plugins podem estar assistindo. Veja:h i_CTRL-C
.