Antipatterns Vim

Quando você está em um estado de fluxo, o Vim acelera seriamente a edição, seja escrevendo código, poesia ou prosa. Mas como a curva de aprendizado é muito íngreme para um editor de texto, é muito fácil manter maus hábitos desde o momento em que você acabou de dominar o editor. O Vim acelera tanto o seu trabalho que é especialmente difícil erradicá-lo, porque você pode nem perceber. Mas vale a pena. Vou listar alguns dos antipadrões mais comuns.

Movimento de uma linha


Se você precisar pular mais do que algumas linhas, mover-se ao longo de uma linha com as teclas j ou k é ineficiente. Existem várias maneiras de se mover verticalmente no Vim. Acho que os dois mais úteis são saltos de parágrafos e telas. Depende de quão longe e como exatamente você precisa se mover.

  • { - Vá para o início do parágrafo anterior ou bloco de código.
  • } - Vá para o final do próximo parágrafo ou bloco de código.
  • Ctrl+F - Avança uma tela.
  • Ctrl+B - Voltar uma tela.

Se você sabe exatamente para onde precisa ir, poderá usar a navegação na pesquisa: pesquise para frente com / e para trás - ? .

Também é sempre útil retornar ao local anterior, o que é bastante fácil com duas aspas ou gi : retornar ao último local em que você inseriu o texto. Se desejar, você pode até navegar entre todos os lugares onde o texto foi inserido usando g; e g,

Movimento de caractere único


Da mesma forma, mover um caractere de cada vez com as teclas h é frequentemente uma perda de tempo quando temos f :

  • t<char> - Avança até o próximo caractere aparecer.
  • f<char> - Avança para a próxima ocorrência de um caractere.
  • T<char> - Volte para a ocorrência anterior de um personagem.
  • F<char> - Retrocede para a ocorrência anterior de um personagem.

Mover-se pelas palavras com as teclas w , W , b , B , e e E também E melhor. E aqui a navegação de pesquisa é útil e não esqueça que você pode copiar, excluir e alterar o texto para frente ou para trás no resultado da pesquisa:
y/search<Enter>
y?search<Enter>
d/search<Enter>
d?search<Enter>
c/search<Enter>
c?search<Enter>

Procure uma palavra sob o cursor


Não se preocupe em digitar ou copiar / colar, basta pressionar * ou # . É incrível o quão mais rápido o trabalho se torna quando você domina essas teclas de atalho.

Excluir e colar


Não é necessário excluir o texto para substituí-lo, entrando no modo de inserção:

d2wi

Use a tecla c mais rapidez e precisão:

c2w

Portanto, toda a operação se torna repetível com um ponto ( . ).

Usando as teclas de seta


O Vim permite que você use as teclas de seta para mover-se no modo normal e no modo de inserção, mas se você está acostumado a usar o hjkl para navegação, as setas já parecem meio desajeitadas, porque durante toda a sessão do Vim os dedos estão no centro do teclado , o que é conveniente para toque em digitar. As teclas Home e End são semelhantes: embora funcionem como na maioria dos editores, não há motivo específico para usá-las quando os equivalentes ^ e $ mais próximos.

Portanto, é aconselhável se afastar das teclas de seta, desativando-as pelo menos temporariamente:

noremap <Up> <nop>
noremap <Down> <nop>
noremap <Left> <nop>
noremap <Right> <nop>


A digitação cega com as teclas centrais não apenas oferece uma vantagem da velocidade, mas também faz você se sentir melhor, porque seus pulsos ficam na frente do teclado e não se movem muito longe, além de ajudar algumas pessoas a se protegerem da síndrome do túnel .

Mover no modo de inserção


Uma vantagem adicional da digitação às cegas na linha central é que você se livra do hábito de se mover no modo de inserção: o modo normal é projetado para isso. Assim que precisar se mover para algum lugar, você alterna para o modo normal e se move com muito mais eficiência. Também ajuda a tornar as operações de colagem mais atômicas e, portanto, mais convenientes para repetição.

Pressione Esc


A tecla Escape nos teclados modernos está muito mais longe da linha central do que no teclado de Bill Joy quando ele criou o vi. Normalmente, pressionar Escape não é necessário: Ctrl+[ muito mais próximo e mais conveniente, você mudará seus hábitos rapidamente. Como opção, você pode considerar combinar a tecla Caps Lock bastante inútil ou mesmo combinações incomuns, como jj no sistema operacional Esc. Embora essa seja uma proposta um pouco radical, funciona bem para muitas pessoas:

inoremap jj <Esc>

Vá para o início ou final de uma linha e insira


Basta usar I e A Além disso, eles tornam a ação repetível para outras linhas em que a mesma operação pode ser necessária.

Entre no modo de inserção e crie uma nova linha


Use o e O para criar uma nova linha mais baixa e mais alta, respectivamente, e ao mesmo tempo entre no modo de inserção.

Entre no modo de inserção para excluir o texto


Esta é uma contradição bastante óbvia. Em vez disso, exclua o texto movendo-se para ele e usando d com o movimento ou objeto de texto apropriado. Novamente, essa ação é repetível e significa que você não está retendo o espaço. Em geral, se você pressionar uma tecla no Vim, provavelmente há uma maneira mais rápida.

Repita comandos ou pesquisas


Basta digitar @: para comando ou n / N para pesquisa; O Vim não esquece a última pesquisa. Se esse não foi o último comando ou pesquisa, mas definitivamente está no histórico, digite q: ou q/ , localize-o na lista e pressione Enter.

Substituições


Digite & para repetir na linha atual da última substituição. Você pode repeti-lo em todas as linhas digitando g& .

Recuperação de macro


Basta digitar @@ .

De fato, essas são apenas algumas maneiras comuns de aumentar a velocidade e a eficiência geral do trabalho com o editor sem instalar plug-ins ou redesignação significativa de chaves. Veja também o wiki para obter dicas sobre o Vim , existem vários outros exemplos realmente úteis.

Source: https://habr.com/ru/post/pt442110/


All Articles