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.