Mudar para e do modo de inserção no Vim não é mais instantâneo, pois eu uso o tmux. Depois de pressionar Escno modo de inserção, leva um tempo notável para realmente sair do modo de inserção. Após pressionar Esce qualquer outra tecla depois, o interruptor é imediato, e o comando para a tecla pressionada após Escé executado. Alguma idéia do que pode causar isso?
A configuração do Vim não é o problema, pois o atraso não ocorre quando executo o Vim fora do tmux, portanto isso provavelmente está relacionado ao tmux de alguma forma. Eu uso o gnome-terminal btw.
Também vale a pena notar, parece que não posso definir ligações de teclas no tmux Esc, pois meu plano era vincular Esc- se a:
bind Escape send-keys ^[
Infelizmente, parece que tudo vincula o Esctmux não funciona. O mesmo problema ocorre na tela também.
fonte
man tmux
e o comando não funciona para mim.Eu tive um problema diferente, mas semelhante, que estava tentando resolver quando encontrei esta página; portanto, postarei aqui, caso seja útil para qualquer pessoa que esteja em busca dessa resposta e a encontre da mesma maneira.
Problema: o modo vi no bash tem um atraso ao alternar do modo de inserção para o modo de comando
Solução: no seu
~/.inputrc
arquivo, adicioneset keyseq-timeout n
onden
existe algum valor baixo maior que 0. on
padrão é 500ms, que é o que causa o atraso. Veja a documentação aqui .Além disso, se você quiser saber em qual modo está, verifique o garfo de Dylan Cali .
fonte
0.01
e agora é muito mais rápido. obrigado!/etc/inputrc
para disponibilizá-lo a todos os usuários.Parece que você está usando um mapeamento que começa com ESC. Quando você pressiona ESC, o vim precisa aguardar para ver se a próxima chave é a que está no mapeamento. Caso contrário, pode continuar imediatamente.
A configuração do vim pode ser dependente do terminal, portanto, o fato de não ocorrer fora do tmux não significa muito. O Vim pode consultar a
$TERM
variável de ambiente e escolher uma configuração diferente, dependendo do seu valor.Como o gnome-terminal usa o AFAIK,
xterm
como o valor da$TERM
variável, e o tmuxscreen
, eu procuraria em todos os seus arquivos de configuração do vim as configurações usadas apenas, se a$TERM
variável for igual ascreen
. Meu palpite é que algum arquivo de configuração do vim em seu sistema define mapeamentos para o manuseio de teclas de seta (aquelas iniciadas com oESC
caractere) quando o terminal estiverscreen
.Você pode testá-lo alterando temporariamente a
$TERM
variável no tmux antes de iniciar o vim. Se o seu shell for bash, chame o vim comono tmux e veja se o problema persiste. Você não pode usar isso como uma correção, no entanto, pois pode haver diferenças entre os recursos de terminal do tmux e do xterm, e você pode ter alguns problemas.
fonte
TERM=xterm vim
não resolveu o problema. Vou ter que cavar um pouco mais fundo.Como o título menciona Tela, eis a solução para corrigir o comportamento da tecla Escape no GNU Screen. (Retirado daqui .)
Adicionar, acrescentar
para o
.screenrc
arquivo de configuração.fonte