tl; dr:
- saia do modo de inserção imediatamente após inserir o texto
- use ^ [em vez de ESC para sair do modo de inserção
Deve haver uma segunda regra do vim, após a Primeira Regra de Justin Kelly . A primeira regra, vagamente, é começar a usar h, j, k, l. Embora ele sugira mais especificamente desativar suas teclas de seta para que você tenha que se acostumar com h, j, k, l. Eu prefiro a primeira regra na forma mais livre: usar h, j, k, l exclusivamente para navegação tipo tecla de seta.
Minha proposta para a segunda regra é sair imediatamente do modo de inserção assim que terminar de inserir o texto. Um exemplo ajudará a esclarecer. Digamos que você esteja digitando uma frase, por exemplo, “O foo é excelente |” (esse é o seu cursor após a palavra excelente), e você decide que deseja alterar a palavra foo para bar. Você não deve segurar a tecla de seta até chegar a foo e então apagá-lo e digitar bar. Neste ponto, você acabou de inserir o texto e já deve ter saído do modo de inserção. No modo normal, a alteração pode parecer a seguinte sequência de comandos do modo normal ?f
enter
cw
bar
^[
.
Isso pode parecer um monte de pressionamentos de tecla, 10 no total, mas é apenas 1 a mais do que o método de manter pressionada a tecla de seta para apagar e digitar bar. (segure a seta para a esquerda + apagar foo + barra de tipos + ^ [= 9 pressionamentos de tecla.) Embora você possa usar ^ w para reduzir isso (eu percebi depois de testar a mim mesmo.) De qualquer maneira, trabalhar no modo normal é muito melhor com mais texto do que trabalhar dentro do modo de inserção.
O poder do vim realmente vem com o domínio do modo normal. Quanto mais tempo você passar lá, melhor. Saber um pouco mais sobre como sair do modo de inserção torna isso mais fácil e, portanto, mais provável. Portanto, para sair do modo de inserção, você normalmente pressiona a tecla ESC. A maneira infinitamente melhor de sair do modo de inserção é usar o equivalente ASCII ^ [. Ou seja, mantenha pressionada a tecla CTRL e pressione [. Isso o mantém próximo à linha inicial.
Algumas pessoas notarão que você pode usar ^ C como um comando geral “pare tudo o que estou fazendo”. Este é um conselho ruim. ^ C é mais uma “eliminação” e não é elegante em vários cenários. Você pode encontrar informações sobre isso na internet.