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.