Você está na página 1de 4

100 Comandos do Vim que todo programador deveria saber

Busca

/palavra: Procura por "palavra" do início para o fim


?palavra: Procura por "palavra" do fim para o início
/Mari[oa]: Procura por "Mario" ou "Maria"
/\<pal: Procura por expressões que começem com "pala" como, "palavra" ou "palíndromo"
/ismo\>: Procura por expressões que terminem com "ismo" como, "autismo"
/\<para\>: Procura pela palavra "para"
/\<...\>: Procura por todas as palavras com 3 letras
/maria\|joao: Procura por maria ou joao
/\<\d\d\d\d\>: Procura exatamente por 4 dígitos numéricos
/^\n\{3}: Procura por três linhas em branco
:bufdo /palavra/: Procura "palavra" em todos os arquivos abertos

Substituição

:%s/antigo/novo/g: Substitui todas as ocorrências de "antigo" por "novo" no arquivo


:%s/antigo/novo/gw: Substitui todas as ocorrências com confirmação
:2,35s/antigo/novo/g: Substitui todas as ocorrências entre as linhas 2 e 35
:5,$s/antigo/novo/g: Substitui todas as ocorrências da linha 5 até EOF (fim da linha)
:%s/^/legal/g: Substitui o começo de cada linha com "legal"
:%s/$/Oh/g: Substitui o fim de cada linha por "Oh"
:%s/antigo/novo/gi: Substitui "antigo" por "novo" desconsiderando maíusculas e/ou
minúsculas
:%s/ *$//g: Apaga todos os espaços em branco
:g/palavra/d: Apaga todas as linhas contendo "palavra"
:v/palavra/d: Apaga todas as linhas que não contém "palavra"
:s/maria/joao/: Substitui a primeira ocorrência de "maria" por "joao" na linha corrente
:s/maria/joao/g: Substitui todas as ocorrências de "maria" por "joao" na linha corrente
:%s/maria/joao/g: Substitui "maria" por "joao" em todo o arquivo
:%s/\r//g: Apaga retornos de carro do windows (\n)
:%s/\r/\r/g: Transforma os retornos de carro do windows (\n) em retornos do Linux (\r)
:%s#<[^>]\+>##g: Apaga tags HTML mas mantêm o texto
:%s/^\(.*\)\n\1$/\1/: Apaga linhas repetidas
Ctrl+a: Incrementa o número sob o cursor
Ctrl+x: Decrementa o número sob o cursor
ggVGg?: Muda o texto usando Rot13

Minúsculo/Maiúsculo

Vu: Torna todos os caracteres da linha minúsculos


VU: Torna todos os caracteres da linha maiúsculos
g~~: Inverte os caracteres do texto inteiro
vEU: Coloca as letras da palavra em maiúsculas
vE~~: Inverte os caracteres da palavra selecionada
ggguG: Coloca todo o texto em minúsculas
:set ignorecase: Ignora minúsculos/maiúsculos nas buscas
:set smartcase: Ignora minúsculos/maiúsculos em buscas exceto quando uma letra msiúscula é
usada
:%s/\<./\u&/g: Coloca a primeira letra de cada palavra em maiúscula
:%s/\<./\l&/g: Coloca a primeira letra de cada palavra em minúscula
:%s/.*/\u&: Coloca a primeira letra de cada linha em maiúscula
:%s/.*/\l&: Coloca a primeira letra de cada linha em minúscula

Lendo/Gravando arquivos

:1,10 w arquivo: Salva as linhas de 1 a 10 em "arquivo"


:1,10 w >> arquivo: Adiciona as linhas de 1 a 10 em "Arquivo"
:r arquivo: Insere o conteúdo de "arquivo" no atual
:23r arquivo: Insere o conteúdo de "arquivo" a partir da linha 23

Explorando arquivos

:e .: Abre o gerenciador de arquivos integrado do Vim


:Sex: Divide a janela e abre o gerenciador de arquivos integrado
:browse e: Abre o gerenciador de arquivos integrado na janela corrente
:ls: Lista os buffers carregados
:cd ..: Move para a pasta superior
:args: Lista os arquivos
:args *.php: Abre lista de arquivos
:grep expressao *.php: retorna uma lista de arquivos .php que contenham a expressão
informada
gf: Abre o arquivo sob o cursor

Interação com o Linux

:!pwd: Executa o comando "pwd" e retorna para o Vim


!!pwd: Executa o comando "pwd" e insere a saída no buffer
:sh: Retorna temporariamente para o shell
exit: Retorna para o Vim

Alinhamento

:%!fmt: Alinha todas as linhas


!}fmt: Alinha todas as linhas a partir da posição corrente
5!!fmt: Alinha as próximas 5 linhas

Abas
:tabnew: Cria uma nova aba
gt: Mostra a próxima aba
:tabfirst: Mostra a primeira aba
:tablast: Mostra a última aba
:tabm n(posicao): Reorganiza as abas
:tabdo %s/foo/bar/g: Executa um comando em todas as abas
:tab ball: Coloca todos os arquivos abertos em abas

Divisão da janela do Vim

:e arquivo: Edita "arquivo" na janela corrente


:split arquivo: Divide a janela e abre "arquivo"
ctrl-w "seta para cima": Coloca o cursor na janela do topo
ctrl-w ctrl-w: Coloca o cursor na próxima janela
ctrl-w_: Maximiza a janela corrente
ctrl-w=: Coloca todas as janelas com o mesmo tamanho
10 ctrl-w+: Adiciona 10 linhas de tamanho na janela corrente
:vsplit arquivo: Divide a janela verticalmente
:sview arquivo: O mesmo que split, mas em modo somente-leitura
:hide: Fecha a janela corrente
:only: Fecha todas as janelas, exceto a janela atual
:b 2: Abre #2 na janela corrente

Auto-completion do texto

Ctrl+n Ctrl+p (em modo de inserção): Completa palavra


Ctrl+x Ctrl+l: Completa linha
:set dictionary=dict: Define dict como o dicionário atual
Ctrl+x Ctrl+k: Completa usando o dicionário

Marcações

mk: Marca a posição corrente como k


‘k: Move o cursor para a marca k
d’k: Apaga tudo até a marca k

Abreviações

:ab email me@me.com: Define email como abreviação de me@me.com

Identação de Texto

:set autoindent: Liga a identação automática


:set smartindent: Liga a identação inteligente
:set shiftwidth=4: Define o tamanho da identação em 4 espaços
ctrl-t, ctrl-d: Identa/Deidenta no modo de inserção
>>: Identa
<<: Deidenta

Marcação de sintaxe

:syntax on: Liga a marcação de sintaxe


:syntax off: Desliga a marcação de sintaxe
:set syntax=perl: Força a usar a marcação de sintaxe do perl

Fontes:

Vim na Wikipédia: http://pt.wikipedia.org/wiki/Vim


Vim: Editor de Textos: http://aurelio.net/vim/
Texto sobre Vim e Emacs: http://aurelio.net/vim/vi-vim-venci.html
Tutorial do Vim: http://www.ademar.org/texts/vim.txt

Você também pode gostar