Olá, comunidade VOL.
Hoje trago a vocês um artigo mostrando um pouco do poder e da versatilidade desse editor que, para mim e acredito que para muitos outros, é o melhor editor de textos do
GNU/Linux.
A minha inspiração em criar este texto introdutório das funcionalidades do
Vim, veio devido ao fato de que muitos iniciantes têm medo dele por se apresentar de forma meio complexa de se manusear no inicio, fazendo com que fiquem no
Nano por um bom tempo, que apesar de também ser um bom editor de textos, não tem o mesmo poder do Vim.
No entanto, depois do susto inicial, e com um pouco de prática, vemos como esse programa sabe facilitar nossas vidas, nos dando ótimos recursos pra edição e também para programação em
C/C++ e outras linguagens.
Começando
Ao digitarmos
vim e
nano no terminal, as seguintes telas se mostrarão para nós:
Figura 1: Interface inicial do Nano
Figura 2: interface inicial do Vim
Como dá para notar, o Vim não é um editor intuitivo como o Nano, que se mostra de forma bem mais amigável ao usuário, porém, ele é bem mais poderoso.
Como você pode perceber, se tentar escrever algum texto partindo dessa tela inicial, não conseguirá. Isto é devido às duas camadas em que o Vim trabalha:
1. A primeira é a camada de visualização, e serve para digitarmos comandos nela ou navegarmos no texto.
2. A outra é a camada de inserção, onde editamos os arquivos e também para nos movimentarmos no texto.
Modos de trabalho do Vim
1. Modo de inserção:
Este é o modo básico do Vim, e é nele que podemos editar nossos textos ou criar novos arquivos a partir do zero. Porém, por padrão, quando entramos no Vim, ele começa no modo de visualização e para podermos começar a editar nossos textos, precisamos entrar no modo de inserção pressionando a letra "i". Além disso, ele permite que entremos nesse modo de forma personalizada das seguintes formas:
- i :: Pressionando a letra "i" ele entrará no modo de inserção de forma padrão.
- a :: Entra no modo de inserção inserindo o texto depois do cursor.
- r :: Substitui um caractere por outro digitado.
- Shift+r :: Entra no modo de substituição e vai substituindo letra por letra no arquivo à medida que for digitando até ser apertado o ESC. Caso queira voltar ao original é só ir apertando backspace.
- o :: Entra no modo de inserção adicionando uma linha abaixo da linha atual onde o cursor se encontra.
- Shift+o :: Entra no modo de inserção adicionando uma linha acima da linha atual onde o cursor se encontra.
2. Modo de visualização:
Este é o modo que permite ao Vim ser tão robusto quanto os outros editores de texto e para entrarmos nele devemos apertar ESC caso estejamos no modo de inserção. É nesse modo onde podemos digitar comandos para editar, copiar, recortar, pesquisar palavras, percorrer e realocar o texto, substituir conjuntos iguais de palavras por outras, e muito mais. Como a gama de funções e comandos deste modo é muito grande, vou dividi-los em vários tópicos para que assim cada conjunto de comandos esteja organizado de acordo com a semelhança de suas funções.
2.1. Comandos para movimentação do cursor no texto:
- Ctrl + f :: Move o cursor para a próxima tela.
- Ctrl + b :: Move o cursor para a tela anterior.
- Shift + h :: Move o cursor para a primeira linha da tela.
- Shift + m :: Move o cursor para o meio da tela.
- Shift + l :: Move o cursor para o fim da tela.
- w :: Move o cursor para o início da próxima palavra.
- Shift + w :: Move o cursor para o início da próxima palavra, separadas por espaço.
- b :: Move o cursor para o início da palavra anterior.
- Shift + b :: Move o cursor para o início da palavra anterior, separadas por espaço.
- :n :: Move o cursor para a linha "n".
- nG :: Mesma função do comando :n.
2.2. Comandos para localização de texto:
- /palavra + ENTER :: Busca pela palavra ou caractere em todo o text.
- n :: Vai para a próxima ocorrência da palavra.
- Shift + n :: Vai para a ocorrência anterior da palavra.
- Ctrl + g :: Mostra o nome do arquivo, o número da linha atual e o total de linhas.
2.3. Comandos para alteração de texto:
- x :: Deleta o caractere que está sob o cursor.
- dw :: Deleta a palavra da posição inicial do cursor até o fina.
- dd :: Deleta a linha atual e copia para a área de transferência.
- Shift+d :: Deleta a linha a partir da posição atual do cursor até o final.
- :A,Bd :: Deleta da linha A até a linha B e copia para a área de transferência.
- u :: Desfaz a última modificação no arquivo.
- Shift+u :: Desfaz todas as modificações feitas no arquivo.
- Shift+j :: Une a linha corrente à próxima.
- yy :: Copia uma linha para a área de transferência.
- yNy :: Copia N linhas para a área de transferência.
- p :: Cola o conteúdo da área de transferência.
- Np :: Cola N vezes o conteúdo da área de transferência.
- cc :: Apaga a linha atual e copia para a área de transferência.
- cNc :: Apaga N linhas e copia para a área de transferência.
Bônus:
:%s/palavra1/palavra2/g :: Substitui a "palavra1" pela "palavra2", em todo o arquivo.
2.4. Comandos para salvar e sair do arquivo
- :wq ou :x :: Salva o arquivo e sai do editor.
- :w nome_do_arquivo :: Salva o arquivo com o nome especificado.
- :w! :: O mesmo que :w, mas forçando a sobrescrita do arquivo.
- :q :: Sai do editor.
- :q! :: Sai do editor sem salvar as alterações.
Estes são alguns dos comandos existentes no Vim para criar e manipular arquivos. Existem mais para serem aprendidos, mas acredito que é um bom começo saber utilizar esses que aqui apresentei. Como são muitos, acabam sendo difíceis de se decorar todos eles no inicio, mas a prática fará com que os mais necessários para você sejam facilmente lembrados futuramente.
Personalizando o Vim
Como a maioria dos programas feitos para GNU/Linux, o Vim também possui um arquivo de configuração para que possamos personalizá-lo à nossa vontade.
Ele se chama
vimrc, e geralmente se encontra em
/etc/vim/vimrc nas distribuições
Debian e em
/etc/vimrc no
CentOS. Ou, apenas para o usuário corrente em
~/.vimrc (deve ser criado).
Neste arquivo, podemos colocar várias outras funcionalidades especiais no Vim para que ele fique ainda mais completo como, linhas numeradas e coloridas dependendo do tipo de arquivo, recursos de auto indentação para programadores, busca incremental, histórico de comandos digitados, grifo das palavras pesquisas e muito mais.
O próprio criador do Vim, Bram Moolenaar, criou um vimrc completíssimo com todas essas funcionalidades extras da qual vou disponibilizar o link aqui para vocês:
vimrc-1.
Conclusão
O Vim é um editor robusto e, portanto, precisa de algum tempo de estudo para que possamos conhecer todas as suas ferramentas.
Com este guia, espero conseguir que o leitor tome gosto por esse editor que, apesar de parecer complicado no início, nos trará muitas alegrias quando for domado no futuro. (hehe)
Abraço a todos.
E obrigado pelo seu tempo gasto lendo este artigo. =D