Publicado em 04/08/2024
LinuxProgramaçãoVimFala Dev, beleza !? Em algum momento da sua jornada como desenvolvedor, você já deve ter se deparado com a necessidade de editar algum trecho de código diretamente em um servidor linux através do terminal, ou até mesmo localmente de forma rápida, sem ter que abrir a IDE para isso. Mas qual a melhor solução?
No linux, um dos editores para terminal mais conhecidos é o Nano, simples e fácil de usar, porém com poucos recursos a oferecer. A alternativa mais recomendada e poderosa para isso é o Vim, um dos editores de código mais poderosos para uso no terminal, com uma série de recursos embarcados e grande modularidade, que permite o uso de plugins de terceiros para incrementar ainda mais seus recursos.
Pensando nisso, criamos este Mini Curso de Vim, que aborda desde o básico da utilização do editor até funções mais avançadas, permitindo que você possa editar seu código de forma rápida e sem dores de cabeça. Bora aprender ?
O que é Vim?
O Vim é um editor de texto altamente configurável, conhecido por sua eficiência, recursos e versatilidade. Ele é amplamente utilizado principalmente devido à sua capacidade de edição rápida e suas extensas possibilidades de personalização através de plugins.
A História do Vim
O Vi, criado nos anos 70, é precursor do Vim, que surgiu como um editor de texto para Linux / Unix. Ele era um editor de texto simples, mas eficiente, que se tornou padrão em muitos sistemas Unix. Em 1991 nasceu o Vim, criado por Bram Moolenaar com o objetivo de tornar o Vi um editor mais poderoso e flexível.
Por que usar Vim?
- Eficiência: A navegação e edição podem ser feitas sem precisar tirar as mãos do teclado.
- Configuração personalizada: Permite a customização de atalhos e funcionalidades.
- Disponibilidade: Vim está presente em praticamente todos os sistemas Unix/Linux.
- Plugins: Suporte a uma ampla variedade de plugins para expandir funcionalidades.
Instalando e configurando Vim
O Vim é um editor de texto extremamente popular no mundo Linux, e costuma vir embarcado por padrão na maioria das distribuições. Você pode verificar executando o seguinte comando no seu terminal:
vim -version
Caso ainda não tenha o Vim instalado no seu ambiente, você pode tentar instalar através do gerenciador de pacotes apt-get
conforme a seguir, ou baixando o fonte diretamente do site:
sudo apt-get update; sudo apt-get install vim -y;
Se estiver utilizando o MacOS, você pode instalar através de brew
:
brew install vim
Agora que temos o Vim disponível no ambiente, vamos ao que interessa.
Navegação Básica
Como editor de texto para terminal, o Vim possuí uma navegação bem completa e própria, que pode parecer um pouco difícil de assimilar no início, mas com o tempo se torna automática.
Para começarmos a entender o modo de navegação, crie um arquivo de teste:
vim nav.txt
Este comando criará um arquivo em branco chmado nav.txt
, para editá-lo, precisamos entrar no modo de inserção.
Modo de Inserção
Para editar o arquivo criado, precione a tecla i
, você irá perceber que na barra de navegação inferior aparecerá a indicação de ‘INSERT’, permitindo a inserção de texto.
Modo Normal
Agora que você já editou o seu arquivo, precisamos retornar ao modo normal do Vim, que permite o uso dos seus comandos e funcionalidades, o mesmo de quando abrimos o arquivo. Para isso, pressione a tecla Esc
.
Note que na barra de navegação inferior já não aparecerá o indicativo de ‘INSERT’. Agora já é possível inserir novamente os comandos do Vim.
Modo Visual
Vamos agora utilizar o modo visual para selecionar um trecho do nosso texto. Para isso, pressione a tecla v
e utilize as setas direcionais do teclado como ↑
, ↓
,←
e →
:
Você pode deletar o trecho selecionado com a tecla d
. Para retornar ao modo normal do Vim, utilize Esq
.
Além das setas, você pode utilizar o esquema de navegação do próprio vim para mover o cursor pelo texto, com as seguintes teclas:
h
: Move o cursor para a esquerda.j
: Move o cursor para a baixo.k
: Move o cursor para a cima.l
: Move o cursor para a direita.
Além da movimentação do cursor por caractere, você também pode movimentá-lo por entre as palavras:
w
: Move o cursor para próxima palavra.b
: Move o cursor para palavra anterior.e
: Move o cursor para fim da palavra.
Também é possível movimentar o cursor através das linhas:
0
: Move o cursor para o início da linha.^
: Move o cursor para o primeiro caractere não vazio.$
: Move o cursor para o fim da linha.
Modo de Comando
O modo de comando, como o nome sugere, permite a execução dos comandos do Vim e para acioná-lo, basta utilizar :
seguido pelo comando desejado.
Para exemplificar, vamos salvar o nosso arquivo utilizando :wq
e em seguida precionando Enter
.
Edição de Texto
O Vim oferece uma série de possibilidades para edição de texto no terminal, vamos explorar as principais delas. Para isso, abra novamente o arquivo de exemplo vim nav.txt
.
Agora entre no modo de inserção pressionando i
e vamos inserir o texto a seguir. Para isso, basta copiar o texto abaixo, colando no Vim com Ctrl
+ Shift
+ V
:
# copie essa linha utilizando `yy` # delete essa linha utilizando `dd` # delete 'isso' utilizando `x` # copie 'aqui' utilizando `v` # cole '' utilizando `p`
Utilize o texto de referência como exercício, e treine os comando a seguir.
i |
Insere caracteres antes do cursor |
a |
Insere caracteres após o cursor |
o |
Abre uma nova linha abaixo |
x |
Deleta o caractere sob o cursor |
Recortar, copiar e colar
Em seguida, vamos fazer as operações mais comuns na edição de texto, como copiar, colar e recortar.
yy
: Copia a linha inteira.p
: Cola depois do cursor.P
: Cola antes do cursor.d
: Corta (deleta) a seleção.c
: Corta (deleta) a seleção e entra no modo de inserção.u
: Desfaz a última ação.Ctrl-r
: Refaz a última ação desfeita.
Procurar e substituir
Vamos pesquisar e substituir ocorrências no texto com os comandos a seguir:
/
: Busca para frente.?
: Busca para trás.n
: Próxima ocorrência.N
: Ocorrência anterior./<termo_busca>/<termo_substituto>/g
: Substitui todas as ocorrências na linha atual.:%s/<termo_busca>/<termo_substituto>/g
: Substitui todas as ocorrências no arquivo.
Trabalhando com arquivos no Vim
Agora vamos aprender como manipular os arquivos no Vim, editando, salvando e fechando.
:e nome_do_arquivo
: Abre um arquivo.:w
: Salva o arquivo atual.:q
: Fecha o arquivo.:wq
: Salva e fecha o arquivo.ZZ
: Salva e fecha o arquivo.
Para trabalhar com múltiplos arquivos no Vim, utilize:
:n nome_do_arquivo
: Abre o próximo arquivo.:prev
: Volta ao arquivo anterior.:bnext
Vai para o próximo buffer.
Help do Vim
Você pode tirar uma dúvida e aprender mais sobre o Vim com o comando :help
, que apresenta a documentação de uso do editor, ou também entender melhor sobre um comando específico utilizando :help <comando>
.
Pronto, agora você já sabe a base para utilizar o Vim no seu dia a dia como programador. Tantos comandos podem parecer confusos neste primerio momento, mas com a prática constante você conseguirá ‘tirar de letra’, ganhando mais confiança e agilidade no uso do Vim.
Como Personalizar o seu Vim
Agora vamos aprender como incrementar o Vim com plugins e configurações personalizadas, para que se adeque melhor as suas necessidades, aumentando sua produtividade na hora de programar.
Arquivo de Confirguração do Vim
As configurações básicas do Vim estão localizadas na home do sistema, em ~/.vimrc
. Caso ainda não tenha o arquivo criado, utilize o próprio Vim para criá-lo:
vim ~/.vimrc
Vamos adicionar algumas configurações ao seu Vim para melhorar a experiência de uso:
" Habilita a detecção do tipo de arquivo em uso filetype on " Habilita a identação por tipo de arquivo filetype indent on " Habilita o destaque de sintexe syntax on " Habilita a marcação das linhas do arquivo set number " Habilita a detecção e carregamento de plugins filetype plugin on
Salve o arquivo e confira a diferença após aplicar as configurações.
Observe que para realizar comentários no arquivo, utilize "
. Comentar as configurações pode te ajudar não se perder no futuro.
Instalando Plugins
Para instalar um novo plugin no Vim, basta baixar o código fonte e fazer sua chamada no arquivo de configuração. Vamos instalar o Plugin Manager de exemplo:
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
Agora adicione ao seu arquivo ~/.vimrc
a configuração de chamada do plugin:
call plug#begin() " Lista de plugins instalados Plug 'tpope/vim-sensible' call plug#end()
Reinicie o Vim e logo você poderá utilizar os seguintes comandos em sua barra de status:
:PlugInstall "Para instalar plugins :PlugUpdate "Para atualizar plugins :PlugDiff "Para comparar as mudanças da atualização :PlugClean "Para remover os plugins
Mapeamento de Teclas
Você também pode mapear as teclas de comando pelo próprio arquivo de configuração, conforme o exemplo a seguir:
map <C-n> :tabnew<CR> map <C-s> :w<CR>
Conclusão
O Vim é uma ferramenta extremamente poderosa para edição de código no terminal, e com as configurações corretas, você pode aumentar sensivelmente a sua produtividade, torando o processo de codificação mais divertido!
Não deixe de conferir a documentação do Vim para saber mais.