Vim: Guia Prático de Edição Eficiente no Terminal

O Vim é um editor de texto altamente configurável que opera via terminal, amplamente utilizado por desenvolvedores e administradores de sistemas. Sua arquitetura baseada em modos permite executar tarefas complexas com poucos toques de teclado, tornando o fluxo de edição muito mais rápido quando bem dominado.

  1. Modos de Trabalho

O Vim diferencia-se de editores convencionais por organizar a interação em modos distintos. Entender essa divisão é essencial para usar a ferramenta sem frustração.

Modo Normal

  • Modo padrão ao abrir o Vim.
  • Usado para navegar, copiar, apagar e aplicar transformações.
  • Pressione Esc para retornar a este modo a qualquer momento.

Modo Inserção

  • Permite digitar e modificar texto.
  • Entre pressionando i.
  • Pressione Esc para voltar ao modo normal.

Modo Visual

  • Usado para selecionar trechos de texto.
  • v: seleção por caractere.
  • V: seleção por linha.
  • Ctrl+v: seleção em bloco (colunas).

Modo de Comando

  • Executa comandos internos do editor.
  • Entre com : e confirme com Enter.
  1. Abertura, Salvamento e Encerramento

Para iniciar, abra um arquivo diretamente do terminal:

vim projeto.py

Após editar, utilize os comandos abaixo para persistir ou sair:

:w        " salva alterações
:q        " fecha o editor
:wq       " salva e fecha
:q!       " descarta alterações e sai
:x        " salva e sai, semelhante a :wq
  1. Entrando no Modo de Inserção

Existem várias maneiras de começar a digitar, dependendo de onde o cursor deve estar:

i         " insere antes do cursor
a         " insere depois do cursor
o         " cria uma nova linha abaixo
O         " cria uma nova linha acima
I         " insere no início da linha
A         " insere no final da linha
  1. Navegação pelo Texto

Movimentos Elementares

h         " esquerda
j         " baixo
k         " cima
l         " direita

Navegação por Palavras

w         " próxima palavra
b         " palavra anterior
e         " final da palavra atual

Dentro da Linha

0         " início da linha
$         " fim da linha
^         " primeiro caractere não branco

No Arquivo

gg        " topo do arquivo
G         " final do arquivo
:25       " vai para a linha 25
Ctrl+g    " exibe informações do arquivo

Rolagem da Tela

Ctrl+u    " meia tela para cima
Ctrl+d    " meia tela para baixo
Ctrl+b    " tela inteira para cima
Ctrl+f    " tela inteira para baixo
zz        " centraliza a linha atual na tela
  1. Operações de Edição

Remoção

x         " remove caractere sob o cursor
dd        " remove a linha inteira
dw        " remove até o fim da palavra
d$        " remove até o fim da linha
D         " equivalente a d$

Alteração

cw        " substitui a palavra atual
cc        " substitui a linha atual
C         " substitui do cursor até o fim da linha
r         " substitui um único caractere
R         " entra no modo de substituição contínua

Copiar, Colar e Desfazer

yy        " copia a linha atual
yw        " copia a palavra atual
p         " cola após o cursor
P         " cola antes do cursor
u         " desfaz
Ctrl+r    " refaz
  1. Trabalhando com Múltiplas Visões

Divisões de tela ajudam a consultar ou editar diferentes partes do mesmo arquivo simultaneamente:

:vsplit outro.txt       " divide verticalmente
:split log.txt          " divide horizontalmente
Ctrl+w w                " alterna entre janelas
Ctrl+w h/j/k/l          " move para a janela ao lado
Ctrl+w =                " equaliza tamanhos
Ctrl+w q                " fecha a janela atual
  1. Comandos do Sistema Operacional

É possível invocar programas externos sem abandonar o Vim:

:!gcc main.c -o app
:r !date                " insere a saída do date no arquivo
:.!sort                 " ordena a linha atual
:'<,'>!uniq             " remove duplicatas da seleção
  1. Gravação e Reprodução de Macros

Macros permitem automatizar sequências repetitivas:

qm          " inicia gravação no registrador m
...         " execute a sequência desejada
q           " encerra gravação

@m          " reproduz a macro m
5@m         " reproduz cinco vezes
@@          " repete a última macro executada
  1. Busca e Substituição

Localização

/palavra         " busca para frente
?palavra         " busca para trás
n                " próxima ocorrência
N                " ocorrência anterior
*                " busca a palavra sob o cursor

Substituição

:%s/erro/correto/g       " global no arquivo
:10,30s/foo/bar/g        " entre as linhas 10 e 30
:%s/antigo/novo/gc        " confirma cada troca
  1. Configuração Inicial

As preferências do editor ficam no arquivo ~/.vimrc:

" Aparência e usabilidade
set number
set cursorline
set showcmd
set wildmenu
set laststatus=2

" Cores e sintaxe
syntax on
set background=dark

" Busca
set hlsearch
set incsearch
set ignorecase
set smartcase

" Indentação
set tabstop=2
set shiftwidth=2
set expandtab
set smartindent

" Codificação
set encoding=utf-8
set fileencoding=utf-8
  1. Gerenciamento de Plugins

Uma das formas mais populares de estender o Vim é com o vim-plug. Instale-o com:

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Exemplo de configuração de plugins:

call plug#begin('~/.vim/plugged')
Plug 'preservim/nerdtree'
Plug 'tpope/vim-commentary'
Plug 'morhetz/gruvbox'
call plug#end()

Após editar o .vimrc, execute :PlugInstall para baixar e instalar as extensões.

  1. Dicas Rápidas

:args *.md         " abre todos os arquivos markdown
:bn                " próximo buffer
:bp                " buffer anterior
:bd                " fecha o buffer atual

ma                 " cria marca a
`a                 " salta para a marca a
'.                 " salta para a última alteração

Ctrl+n             " próxima sugestão de autocompletar
Ctrl+p             " sugestão anterior

zf                 " cria dobra
zo                 " abre dobra
zc                 " fecha dobra

Tags: vim Neovim editor-de-texto Terminal vimscript

Publicado em 7-20 18:29