Quando modificamos arquivos de configuração no Linux é muito comum o uso de editores de texto. Entre os programas mais populares da categoria está o Vim: uma solução avançada muito utilizada por administradores de sistemas e programadores.
O Vim foi lançado em 1991 com base no antigo vi, editor para UNIX criado em 1976 pelo célebre Bill Joy, cientista da computação que inventou a linguagem Java, que deu origem a diversos clones aprimorados (Stevie, Elvis, Vilenvi…) ao longo de décadas.
Ele se caracteriza pela quantidade de recursos e, também, por ser um editor de texto do tipo “modal”. Certo, mas o que é isso? Vamos a uma pequena definição:
Um editor modal se caracteriza por funcionar em diferentes modos (modes, em inglês). O que isso significa na prática? Que as suas funções e atalhos, por exemplo, variam de acordo com o modo em que ele está ativado.
A princípio soa complexo, mas a possibilidade traz vantagens valiosas para quem está habituado a trabalhar com editores de texto. Suas teclas de atalho otimizadas, por exemplo, são extremamente úteis na hora de escrever códigos, pois agilizam o trabalho em níveis consideráveis.
Para elucidar melhor os benefícios dessa robustez do Vim, elaborei neste conteúdo um tutorial no qual ensino a utilizar uma série de recursos (básicos e avançados) desse poderoso editor.
Depois de tudo que veremos aqui, me diga se não começará a utilizar o Vim para trabalhar no Linux, combinado? Então vamos lá!
Instalando o Vim no Linux
A instalação do Vim editor nas distribuições Linux é bem simples. No Ubuntu, por exemplo, abra o terminal e digite:
sudo apt install vim
Aguarde o processo até a conclusão e, então, digite sudo vim. Se a instalação funcionou, será impressa na tela uma mensagem similar a essa:
Curiosidade: a mensagem “Help poor children in Uganda!” (Ajude as crianças pobres em Uganda) é uma causa que Bram Moolenaar, criador do Vim, mantém desde o início, quando o software era classificado como “charityware” — em troca do livre uso do Vim, o usuário ajudava a difundir o projeto filantrópico.
Conhecendo as opções de modos do Vim
O Vim é composto por vários modos. Poderia falar de pelo menos seis deles, mas como estamos iniciando o assunto, vou destacar quatro: normal, insert, visual e command.
Modo normal
Começando pelo primeiro deles, o normal mode, este é o modo ativado assim que o Vim é aberto. Nele, o usuário se depara com os efeitos dos comandos e, normalmente, a surpresa desagrada.
Por exemplo, ao digitar um caractere alfanumérico, como o j, a ação equivale a teclar “enter” para mover o cursor uma linha abaixo. Se digitarmos :wq o editor vai salvar o conteúdo e encerrar o processo. Caso escreva uma linha e, de repente, digite dd, a linha em questão será deletada.
Modo insert
Quando passamos para o modo insert, toda a confusão inicial é dispensada quando o usuário digita i. Ele serve, justamente, para que o usuário redija o seu texto normalmente. Para sair do insert, basta digitar a tecla esc — e o Vim voltará a operar no modo normal.
Modo visual
Por sua vez, o visual mode se assemelha bastante ao mecanismo de clicar e arrastar com o mouse. Conforme o usuário seleciona trechos de um conteúdo, ele consegue aplicar comandos restritos à seleção (copiar, substituir, deletar etc.). Para acessar o modo visual, basta pressionar a tecla v e usar o cursor.
Modo command
O command mode nos permite aplicar vários comandos de maneira mais fácil que no modo normal — aprenderemos alguns deles aqui no artigo. Ele é essencial para aplicar correções / grandes modificações em um conteúdo.
Supondo que você tenha escrito um programa com mais de mil linhas de código e descobriu que determinado termo foi empregado incorretamente em várias partes do conteúdo. Um simples comando pode resolver o problema rapidamente.
Para acessar o modo comando, abra o Vim no modo normal e tecle : dois pontos.
Aplicando operações básicas no Vim
Conhecendo os módulos do Vim, chegou o momento de colocar em prática os comandos primários para editar, mover e localizar elementos. Vou começar listando alguns atalhos do modo comando para mover.
- 0: move o cursor para o início da linha;
- $: move o cursor para o fim da linha;
- k: move o cursor linha acima;
- j: move o cursor linha abaixo;
- h: move o cursor um caractere à esquerda;
- l: move o cursor um caractere à direita;
- `.: move o cursor para o último elemento editado;
- G: move o cursor para o fim do arquivo como um todo;
- gg: move o cursor para o início do arquivo;
- w: move o cursor uma palavra adiante;
- b: move o cursor uma palavra atrás.
Observação: o sinal de dois pontos (:) não faz parte dos atalhos.
Uma dica providencial: se você deseja mover mais de uma linha ou palavra, basta digitar o valor junto do atalho. Exemplo: 15w para mover quinze palavras à frente, 8b para mover oito palavras atrás etc.
Edição de texto
Usando os comandos de movimento que apresentei acima, vamos aplicar alguns atalhos de edição para você começar a praticar.
Shortcuts para deletar elementos:
- x: deleta o caractere apontado pelo cursor;
- u: restaura ação mais recente;
- dw: deleta uma palavra completa;
- d0: deleta até o início da linha;
- d$: deleta até o fim da linha;
- dgg: deleta até o início do arquivo;
- dG: deleta até o fim do arquivo;
- d): deleta até o fim de uma sentença;
- dd: deleta a linha inteira.
Copiar e colar:
- v: destaca um catactere por vez;
- V: destaca uma linha por vez;
- Ctrl+v: destaque por colunas;
- p: cola o texto no fim da linha atual;
- P: cola texto na posição atual do cursor;
- y: puxa o texto para a área de transferência.
- Localizando e substituindo elementos:
- /: busca pelo termo digitado logo após a barra. Exemplo: /uma ameaça assombrava Gotham City;
- n: move o cursor para a próxima instância do texto da última pesquisa;
- N: move o cursor para a instância anterior do texto da última pesquisa;
- ?: funciona como a barra, mas retrocedendo a pesquisa.
Com esses atalhos básicos você já pode começar a treinar e passar a aplicar funções mais avançadas com o tempo.
Aprendendo a customizar o editor Vim
Quando se trabalha frequentemente com editores de texto, escolher o conjunto de ferramentas ideal é como fazer amigos que estarão sempre a postos para ajudá-lo em todas as suas atividades.
Contudo, não há como definir um perfil padrão de “bom amigo”, o qual se encaixe a todas as pessoas; cada um de nós somos atraídos por características e aspectos distintos. A mesma regra se aplica ao software adequado: ele deve reunir as qualidades das quais necessitamos para sermos conquistados.
Entre os editores disponíveis para Linux, o Vim é o que mais se aproxima disso que estou falando, pois ele oferece muitas possibilidades de customização. Abaixo, vamos aprender a personalizar alguns dos vários elementos possíveis:
- fontes;
- esquema de cores;
- menu e barra de ferramentas;
- ambiente de trabalho etc.
Para fazermos isso, precisamos modificar o arquivo de configuração vimrc, que pode ser encontrado nos diretórios /usr/share/vim/vimrc e /etc/vim/vimrc — eles são o mesmo arquivo ligados por um link simbólico (symlink).
Vale frisar que as alterações feitas no /etc/vim/vimrc são globais, ou seja, abrangem todos os usuários. Por isso, é até mais apropriado customizar o Vim criando um arquivo vimrc local, preservando os parâmetros globais. De qualquer forma, ensinarei a você os dois métodos.
Editando arquivo vimrc
Abra o diretório /etc/vim no terminal e, usando o próprio Vim (ou qualquer outro editor), abra o arquivo vimrc. Exemplo:
cd /etc/vim vim vimrc
Uma série de mensagens aparecerá em tela. Rolando o texto para baixo, você encontrará o seguinte bloco:
"set showcmd " Show (partial) command in status line. "set showmatch " Show matching brackets. "set ignorecase " Do case insensitive matching "set smartcase " Do smart case matching "set incsearch " Incremental search "set autowrite " Automatically save before commands like :next and :make "set hidden " Hide buffers when they are abandoned "set mouse=a " Enable mouse usage (all modes)
Como podemos ver, as configurações estão marcadas entre aspas, ou seja, nada mais são do que comentários. Remova as aspas e então os parâmetros serão ativados — a partir daí, você consegue editá-los.
Criando um arquivo vimrc local
Com a sessão do Vim aberta, crie um arquivo local no diretório home. Para isso, navegue até o diretório e digite o comando vim vimrc_local. Será aberto um arquivo em branco que você pode editar e, assim, guardar as configurações que mostrarei mais adiante.
Observação: na hora de inserir informações, note que há uma linha no fim do documento com a opção “vimrc_local” [New File]. Tecle s para confirmar a criação do arquivo e, automaticamente, o modo insert será ativado.
Instalando plugins
Além das opções básicas de customização, usuários do editor Vim têm à disposição milhares de plugins para incrementá-lo com funcionalidades adicionais. Para se ter ideia, na página Vim Awesome é possível encontrar mais de 18 mil plugins!
Antes de explorar necessária a instalação de um gerenciador chamado Vim-Plug:
sudo apt install curl
# caso ainda não tenha o curl instalado no seu Linux
sudo curl -fLo ~/.vim/autoload/plug.vim –create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
Como adicionar o seu primeiro plugin? Comece criando um diretório próprio para armazenar os plugins usando o comando mkdir. Exemplo:
touch ~/.vimrc.plug mkdir ~/vimplug-plugins
Em seguida, abra o arquivo .vimrc com o próprio Vim e acrescente às primeiras linhas o texto a seguir:
. . .
" Call the .vimrc.plug file if filereadable(expand("~/.vimrc.plug")) source ~/.vimrc.plug endif
Abra o arquivo .vimrc.plug. Nele, vamos escrever uma pequena sequência de dados para adicionar o plugin desejado. Neste exemplo, vamos instalar o quickrun, usado para agilizar a execução de comandos no Vim.
call plug#begin('~/.vim/plugged') "Quickrun.vim Plug 'thinca/vim-quickrun' call plug#end()
Salve as alterações, feche o arquivo .vimrc.plug e reinicie o Vim. Para validar a instalação do plugin, digite o comando :PlugInstall no editor em modo de comando, o que chamará o gerenciador no próprio Vim para concluir a instalação de todos os plugins presentes no .vimrc.plug.
5 plugins essenciais para customizar o Vim editor
Como expliquei mais acima, plugins não faltam para você incrementar o seu Vim e deixá-lo do jeito que quiser, porém há sempre aquele conjunto de recursos indispensáveis. Abaixo, listei alguns dos plugins mais populares.
Fugitive
O Fugitive.vim é o plugin mais utilizado entre os milhares que podemos encontrar. Ele permite aos usuários executar comandos Git a partir do próprio Vim, além de muitas outras operações que deixam o editor mais robusto do que você pode imaginar. Sem dúvidas, estou falando de um item essencial.
Colorschemes
Esse plugin facilita a customização visual do Vim por meio de esquema de cores prontos que podem ser baixados em arquivos individuais. Outro plugin da categoria (até mais popular) é o Solarized Colorscheme. É só escolher a combinação que mais lhe agrada e fazer o download!
Surround
O Surround-vim nos permite cercar uma palavra com caracteres diferentes, como parenteses, aspas, colchetes, entre outros. Se você pretende utilizar o Vim para editar códigos em HTML e XML, por exemplo, o Surround-vim tem muito a acrescentar.
Youcompleteme
O recurso autocomplete é precioso quando precisamos escrever códigos, pois ele agiliza o processo e, ao mesmo tempo, ajuda a reduzir falhas consideravelmente. No editor Vim, o plugin youcompleteme é o utilitário indispensável nesse sentido.
NERDTree
O NERDTree é um explorador de arquivos que nos permite visualizar diretórios e acessar conteúdos rapidamente. É possível, inclusive, estender as suas funcionalidades ao utilizar um API específico para o plugin.
Em suma, devido à enorme quantidade de complementos, não tenho dúvidas de que você passará um bom tempo explorando meios de tornar o Vim o mais adequado possível as suas necessidades.
Comandos para gerenciamento de plugins
Daqui em diante, ao explorar mais detidamente o Vim, você pode gerenciar os plugins que vier a instalar por meio dos seguintes comandos:
- PlugInstall
- instalar plugins
- PlugUpdate
- instalar ou atualizar plugins
- PlugClean[!]
- deletar plugins definitivamente
- PlugUpgrade
- fazer upgrade do plugin quando disponível;
- PlugStatus
- listar plugins e respectivos status;
- PlugDiff
- exibe mudanças realizadas durante atualização;
- PlugSnapshot[1]
[/diretório_de_saída]
- gera script para restauração dos plugins ativos.
Como você pode notar é muito simples administrar os plugins do Vim.
Resumindo, trabalhar com textos usando o editor Vim implica certos desafios. É possível que você leve semanas ou meses para pegar o jeito, ou dominá-lo em poucos dias. Por outro lado, os benefícios da sua utilização fazem valer o esforço, pois tornará o seu ambiente de trabalho ainda mais produtivo.
Quer fazer toda a diferença na sua carreira em Linux ainda hoje? Aproveite a oportunidade e acesse a página Profissionais Linux. Lá, apresento a você um meio rápido para alcançar o sucesso na área.