Como (e por que) eu uso Vim
A discussão sobre qual é o melhor editor de texto é antiga entre os programadores. Existem diversas opções, sendo algumas das mais famosas: Atom, Sublime, Brackets, Visual Studio, Notepad++, TextWrangler, Emacs, Vim… As opções são muitas. Algumas tem funções mais de IDE (ambiente integrado de desenvolvimento), outras são mais básicas e simples, como um bloco de notas padrão.
Aqui no Campus Code somos em 8 desenvolvedores, atualmente, e praticamente todos usamos Vim como nossa ferramenta de desenvolvimento. Temos uma configuração padrão que você pode conferir aqui.
Este post não é para falar qual é o melhor editor ou IDE, mas sim para falar um pouco das vantagens que encontrei ao usar o Vim, por que o utilizo e como você também pode utilizar.
Primeiro, um pouco de história…
Vim (Vi IMproved) é um clone melhorado do editor Vi. Ele é open source e foi lançado em 1991. Para iniciá-lo, basta digitar vim
em seu terminal (Linux ou Mac OS). Você vai se deparar com uma tela semelhante a essa:
E agora, o que eu faço?
Se você não tem a mínima ideia de como mexer no Vim, você não está sozinho. Nesta semana o Stack Overflow anunciou que a pergunta “Como sair do editor Vim?” atingiu a marca de 1 milhão de visitas. Em outras palavras, 1 em cada 20 mil pessoas que acessam o site só estão procurando como sair do Vim.
Como você pode ter percebido, o Vim não possui interface gráfica e nem suporte a mouse, portanto toda sua navegação deve ser feita através do teclado. Isso é mais fácil do que parece, mas exige um pouco de prática.
Para abrir um arquivo no Vim você deve digitar vim <caminho_para_o_arquivo>
no seu terminal. Se quiser abrir a pasta inteira que você está navegando, vim .
O Vim foi construído pensando que, como desenvolvedores, passamos grande parte do tempo editando texto, e não necessariamente escrevendo coisas novas. Por isso ele possui 2 modos principais: Normal (navegação) e Inserção.
Modo normal:
Quando você acessa o Vim pela primeira vez ele entra nesse modo, por padrão. A navegação é feita pelas teclas h (esquerda), j (baixo), k (cima) e l (direita). Você até pode navegar pelas setas, porém só pelo fato de ter que tirar a mão das letras para chegar à elas faz com que a navegação alfabética seja mais eficiente.
Alguns outros comandos importantes:
w
move o cursor até o começo da próxima palava
e
move até o final da próxima palavra
b
move até o começo da palavra anterior
x
apaga o carácter em que o cursor está
u
desfaz a última alteração
<ctrl>+r
refaz a última alteração desfeita
v
acessa o modo visual (para seleção). Para selecionar, navegue através das letras ou setas, e o texto selecionado ficará de outra cor.
y
copia o que estiver selecionado no modo visual. Também pode ser usado em conjunto com outros comandos, por exemplo: yw
copia a palavra seguinte, yy
copia a linha em que o cursor está.
d
apaga o que estiver selecionado no modo visual. Assim como o y
também pode ser usado em conjunto com outros comandos.
c
apaga o que estiver selecionado e abre o modo Inserção para edição. Como os comandos acima, também pode ser usado com outros comandos.
Modo Inserção
Ao digitar i
você entra no modo de inserção. Como o próprio nome diz, é nele que você poderá inserir, ou seja, escrever o que quiser. Aqui o editor funciona como qualquer outro, e dependendo da sua configuração pode ter desde opções de autocomplete até atalhos para criar tags HTML como o Emmet.
Para sair do modo de inserção, basta apertar ESC
. Para mim, a melhor maneira de trabalhar é alternar entre esses dois modos.
Outros comandos
No modo Normal:
:e <caminho-para-arquivo>
abre um arquivo.
:w
salva o arquivo atual.
:q
fecha o arquivo (e o Vim).
/palavra
encontra as ocorrências de palavra
no arquivo. Tecle Enter para ir para a palavra, n
para navegar para a próxima ocorrência ou N
para a anterior.
:%s/foo/bar/g
substitui foo
por bar
em no arquivo inteiro. Veja aqui outras opções de substituição.
g10
pula o cursor diretamente para a linha 10 (por exemplo).
gg
pula o cursor para a primeira linha do arquivo.
G
navega para a última linha do arquivo.
Essas são apenas algumas dicas básicas. Começar a usar o Vim exige paciência e persistência, mas pelo menos para mim valeu a pena, pois aumentou bastante minha velocidade de trabalho.
No próximo post falarei um pouco mais sobre os atalhos que temos configurados em nossos dotfiles e como você pode agregar o Vim ao Tmux para ter uma ferramenta ainda mais completa. Fique ligado!