Como alternar confortavelmente para o modo de comando vi na linha de comando zsh?


22

No vi, mapeei 'jj' para escapar para poder alternar para o modo de comando sem usar a tecla de escape irritante. Agora eu quero ter o mesmo para edição de linha de comando para a qual eu uso o vi-mode. Eu já encontrei a seguinte solução:

bindkey '^j' vi-cmd-mode

permite alterar com control-j para o modo de comando. Ainda procurando por uma solução sem teclas modificadoras como 'jj' ou algo semelhante.


4
Por que não remapear Caps Lock to Escape?
Kyrias

Respostas:


30

Nota: Você deve procurar man zshzlemuitas vantagens em personalizar bindkeye emular GNU readline.

Isto é como eu mapeados jjpara Esc:

bindkey -M viins 'jj' vi-cmd-mode

Se você estiver interessado em distinguir entre o modo de inserção e o modo normal, tente a sugestão mencionada por akira aqui


sim! funciona perfeitamente. thx muito!
Eman Resu

Existem pré-requisitos que precisam ser cumpridos antes que isso funcione no zsh? Ou maneiras de depurar as associações de teclas? Depois de inserir este comando, nada acontece. jj ainda não funciona.
UltraMaster 25/08

5
Eu tinha KEYTIMEOUT definido muito baixo, esse foi o motivo.
UltraMaster 25/08

@Ultramaster faz um ótimo ponto. Se você já estiver configurando o KEYTIMEOUT para velocidade, recomendo> = 20 milissegundos. Comoexport KEYTIMEOUT=20
craft
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.