Existem muitas opções que você tem. Uma opção, e a IMO, a mais segura e fácil, é parar de desativar as teclas de seta. Eu entendo por que muitos vimmers hardcore dizem coisas como
Você nunca deve usar as teclas de seta novamente! Toda vez que você usa as setas, você perde 3 minutos, um filhote morre e alguém muda para o Emacs!
(Obviamente estou brincando) No entanto, há um objetivo para as teclas de seta. Eles são extremamente úteis para navegar:
No modo de inserção
Na linha de comando
Geralmente, quando as pessoas dizem para você não usar as teclas de seta, é porque elas querem que você reaprenda a navegação de uma maneira mais semelhante ao vim. Se você se sente confortável hjkl
e usa principalmente as teclas de seta no modo de inserção, não há um bom motivo para se forçar a não usá-las.
A opção 2 é remapear ctrl-hjkl
para agir como teclas do cursor. Isso é bom porque você pode permanecer na homerow e se encaixa bem com a memória muscular que você já aprendeu a usar hjkl
no modo normal. De fato, é isso que eu faço . A principal desvantagem dessa abordagem é que pode ser difícil configurar no terminal vim porque <C-j>
produz um NUL
byte. Eu contorno isso usando Gvim. Não sei se existe ou não uma correção fácil para o console vim.
A opção 3 é usar <C-o>
para fazer pequenos movimentos no modo normal. Por exemplo, se você estiver digitando
Hello world!
cursor^
e você percebe que esqueceu uma vírgula, em vez de fazer leftleftleftleftleftleft, você pode simplesmente fazer <C-o>b<C-o>h
ou <C-o>2Fo
ou qualquer outra combinação de movimentos do modo normal que desejar.
Claro, outra opção, e uma de que gosto muito é apenas usar Esc, fazer alguns pequenos movimentos antes de voltar ao modo normal. Você mencionou que prefere não fazer isso, mas às vezes essa é realmente a maneira mais eficiente.
Provavelmente também existem outras abordagens, mas essas são as que eu mais gosto que funcionaram para mim.