Conheça e aprenda a usar o editor Vim no Linux

Por Felipe Arruda

Dia desses, circulava pela internet uma piada antiga, mas que ainda faz rir os milhares de aficionados pelo Linux: um usuário estava usando o Vim há anos, não porque gostava, mas porque não sabia como sair do editor de textos. Apesar de exagerada, a cena traz à tona uma das grandes questões que atormentam aqueles executam, pela primeira vez, o comando vim no terminal.

Desenvolvido como uma versão aperfeiçoada do antigo editor Vi e lançado em 1991, o Vim é, ainda hoje, uma das ferramentas favoritas de muitos entusiastas do Linux. Apesar de ter uma interface simples, sem todos os recursos incríveis dos processadores de textos mais famosos – como o Writer ou Word –, o Vim é muito poderoso e, por trás de sua aparente simplicidade, o editor esconde funcionalidades indispensáveis no dia a dia.

Além de ser usado por programadores, o Vim também é o preferido de boa parte dos administradores de sistema, já que esses profissionais têm a edição de textos como tarefa muito frequente. Afinal, a maior parte dos serviços é configurada por meio de arquivos armazenados no diretório /etc e, como nem todo servidor possui ambiente gráfico e muitos deles são operados remotamente, o Vim se destaca como uma opção leve e ágil.

Vim sendo executado no Ubuntu

Modos básicos de utilização

O grande diferencial do Vim em relação aos outros editores é, também, o recurso que costuma causar mais confusão entre os usuários iniciantes: o editor de textos possui vários modos de operação e, dependendo do modo em que ele se encontra, as teclas passam a funcionar de maneira diferente. Os dois modos principais do Vim são: Modo de Comandos e Modo de Inserção.

O primeiro modo, como o nome indica, é voltado para comandos, iniciado por padrão junto com o software, ao executar vim no terminal. Nesse modo não é possível digitar textos, já que as teclas estão configuradas para servirem de atalhos a operações muito especiais, como movimentação do cursor, salvar e abrir arquivos, copiar e colar texto, fazer buscas por palavras-chave, etc.

Se você deseja digitar um texto, precisa acessar o Modo de Inserção e, para isso, usa-se a tecla de atalho i. Basta pressioná-la quando estiver no modo de comandos e, em seguida, iniciar ou modificar um arquivo de texto. Para retornar ao modo de comandos, use a tecla ESC.

Criar e salvar arquivo no Vim

Se quiséssemos, por exemplo, criar um arquivo de texto chamado canaltech.txt, cujo conteúdo seria a frase "Teste do tutorial", seguiríamos os seguintes passos:

  1. no terminal, executaríamos o comando vim canaltech.txt;
  2. dentro do Vim, pressionaríamos a tecla i para passar do Modo de Comandos para o Modo de Inserção;
  3. digitaríamos a frase "Teste do tutorial";
  4. voltaríamos ao modo de comandos com a tecla ESC;
  5. digitaríamos :wq, pressionando Enter logo em seguida. Esse comando (:wq) é utilizado para salvar (write) o arquivo e sair (quit) do Vim.

Tente repetir esses passos em seu computador e, ao fim, você perceberá a presença do arquivo canaltech.txt em seu diretório de trabalho. Caso você não saiba como listar arquivos, consulte o artigo com 10 comandos essenciais do Linux.

Comandos principais do Vim

Agora que você aprendeu como alternar entre os modos de comando e inserção e já executou o seu primeiro comando (:wq), é hora de aprender mais teclas de atalho e novos comandos. Mas, antes de prosseguir, vale a pena prestar a atenção em dois detalhes muito importantes.

Primeiro, lembre-se de retornar ao Modo de Comandos pressionando a tecla ESC, caso você esteja digitando um texto no Vim. Caso contrário, os comandos desta lista não funcionarão e seu arquivo de texto acabará com sequências do tipo :q! no meio de alguma palavra. Em segundo lugar, note que o Vim faz uso de quase todas as letras do alfabeto e, na falta de opções, acaba apelando para maiúsculas. Portanto, os comandos o e O são diferentes.

Movimentando-se no arquivo

Com isso em mente, podemos começar a movimentar o cursor do Vim entre as linhas e letras de um arquivo de texto. Para isso, pressione ESC (para sair do modo de inserção, caso esteja nele) e, em seguida, use as teclas h, j, k e l para mover o cursor para esquerda, para baixo, para cima e para a direita, respectivamente. As setas direcionais também podem ser usadas para esse fim, mas podem não funcionar em qualquer distro ou mapa de teclado.

Se quiser se mover para o início do arquivo, digite gg e, quando quiser ir ao final, pressione G (maiúsculo). Também é possível pular de palavra em palavra com teclas w e b, além de ir diretamente para uma linha em específico. Se quiser acessar a 36ª linha do texto, por exemplo, digite 36G.

Abrir, salvar e outras operações de arquivos

Abrir um arquivo de textos com o Vim é simples. Basta informar o caminho e nome do arquivo como parâmetro ao comando vim, quando for executá-lo. Se quiséssemos abrir o arquivo /etc/passwd, por exemplo, executaríamos vim /etc/passwd no terminal.

Para sair do editor de textos, digite :q. Se quiser forçar a operação de sair, sem se preocupar com a possibilidade de salvar o arquivo que estava sendo editado, pressione :q!. Para salvar o arquivo no qual você está trabalhando, use o comando :w, enquanto que, para salvar e sair, com já visto acima, usamos :wq.

Mudar de modos

Como já mencionamos, pressionar a tecla i faz com que o Vim passe para o Modo de Inserção, enquanto que ESC retorna para o Modo de Comandos. Porém, é possível fazer um uso mais preciso dessa operação. A tecla i, na verdade, inicia a inserção de texto à esquerda da localização atual do cursor. Se quiser começar a digitar à direita do cursor, pressione a. Da mesma forma, caso deseje entrar no modo de inserção uma linha antes do cursor, pressione O, e, se preferir, o para uma linha após o cursor.

Copiar, recortar e colar

Copiar e cortar uma linha toda pode ser feito por meio dos comandos Y e S, respectivamente. Já a cópia ou o recorte da palavra na qual se encontra o cursor deve ser realizada com yw ou dw.

Se preferir selecionar um trecho, pressione, antes, a tecla V, para linhas, ou v, para caracteres. Em seguida, use os atalhos de movimentação do cursor para definir o limite da seleção. Depois de selecionado, pressione y para copiar ou d para recortar. Na hora de colar, o comando não muda: basta digitar p.

Pesquisas e comandos avançados

Como dissemos anteriormente, apesar da simplicidade aparente do Vim, o editor permite realizar ações mais complexas. Para começar, você pode desfazer a última ação pressionando a tecla u. Caso queira refazer ou repetir um comando, use Ctrl+r.

Se quiser procurar por um termo ou frase no arquivo de texto, digite / seguido da expressão, sem espaço. Para buscar a palavra Canaltech, por exemplo, use /Canaltech. Para procurar pela ocorrência seguinte da palavra, após ter realizado a pesquisa, basta pressionar n. Se quiser voltar uma ocorrência, pressione N.

Como se não bastasse, o Vim também pode procurar e substituir um termo por outro em todo o texto. Digamos, por exemplo, que um redator incauto digitou canaltech, sem a inicial maiúscula, em um artigo todo. Para corrigir o erro no Vim, bastaria executar o comando :%s/canaltech/Canaltech/g. Bacana, não?

Vimtutor e interface gráfica

Se você quiser saber mais sobre os recursos do Vim, recomendamos a instalação do pacote vim-runtime. Esse pacote contém o vimtutor, um tutorial interativo que pode ser estudado na prática, dentro do próprio Vim. Para isso, basta executar o comando vimtutor, a qualquer momento, em um terminal.

GVim

Além disso, talvez você goste de saber que existe uma interface gráfica desenvolvida para o Vim. Portanto, caso prefira trabalhar com esse editor de texto no modo gráfico, com direito a barras de menus e de ferramentas, instale o pacote gvim. Apesar de ele ficar mais "bonito", o conteúdo deste tutorial continua valendo.

Este artigo faz parte de nossa biblioteca de conteúdo "Tudo o que você precisa saber sobre o Linux". Não deixe de acessar e conferir todo o conteúdo publicado sobre o Pinguim.

Fique por dentro do mundo da tecnologia!

Inscreva-se em nossa newsletter e receba diariamente as notícias por e-mail.