Skip to content

Instantly share code, notes, and snippets.

@aalvesjr
Created October 16, 2011 06:37
Show Gist options
  • Save aalvesjr/1290585 to your computer and use it in GitHub Desktop.
Save aalvesjr/1290585 to your computer and use it in GitHub Desktop.
Comandos VIM
vim
vim [opções] [arquivo]
São algumas das opções deste aplicativo
-b : permite editar arquivo binário.
-h : exibe opções do aplicativo.
+n : inicializa o cursor na n-ésima linha.
-r : recupera a última versão do arquivo (o arquivo estava sendo editado quando o vim foi encerrado de forma não normal, por exemplo, devido a falta de energia elétrica).
-R : abre arquivo apenas para leitura.
Observações
O vim (VI Improvement) é uma melhoria do antigo editor de texto vi. Este por sua vez é uma melhoria do editor de texto orientado a linha chamado ed. Existe também uma versão do vim para ambiente X chamada gvim.
O vim possui três formas de trabalho: modo de linha, modo de edição e modo de comandos. A mudança de um modo para outro modo é feita através do uso da tecla Esc.
Após o arquivo ser aberto pelo vim, o modo de comandos é ativado. No modo de comandos, as teclas digitadas pelo usuário são interpretadas pelo vim como ações a serem executadas dentro do arquivo aberto. No modo de edição, as teclas digitadas pelo usuário são ecoadas na tela. Para entrar neste modo, pode-se digitar, por exemplo, "a" (adicionar), "i" (incluir),etc. No modo de linha, o usuário define ações a serem executadas no arquivo como um todo (por exemplo, salvar, substituir caracteres, sair do aplicativo, etc). Para entrar neste modo, deve-se digitar ":".
São alguns dos comandos do vim no modo de comandos
0 : mover o cursor para o início da linha em que o cursor está posicionado.
a : inserir texto após a posição atual do cursor.
A : inserir texto no final da linha atual.
dd : deletar linha atual.
[n]+dd : deletar n linhas a partir da linha atual.
G : ir para o fim do arquivo.
[n]+G : ir para a n-ésima linha do arquivo.
h : voltar um caractere.
H : ir para a primeira linha exibida na tela atual.
i : inserir texto a partir da posição atual do cursor.
I : inserir texto no início da linha atual.
j : descer uma linha.
J : juntar a linha atual com a linha seguinte.
[n]+J : juntar n linhas consecutivas a partir da linha atual.
k : subir uma linha.
l : avançar um caractere.
L : ir para a última linha exibida na tela atual.
n : procurar, a partir da posição atual do cursor, a próxima ocorrência do texto definido no último comando /.
N : procurar, a partir da posição atual do cursor e indo em direção ao início do arquivo, a próxima ocorrência do texto definido no último comando /.
o : inserir uma linha em branco após a linha atual.
O : inserir uma linha em branco acima da linha atual.
p : inserir linhas copiadas após a linha atual.
P : inserir linhas copiadas antes da linha atual.
r : substituir o caractere atual.
R : substituir um conjunto de caracteres.
s : deletar o caractere atual e inserir texto.
S : apagar linha e inserir novo texto na linha.
u : desfazer a última alteração feita no texto e ainda não desfeita.
U : desfazer a última alteração feita no texto.
x : apagar caractere onde o cursor está posicionado.
$ : mover o cursor para o fim da linha em que o cursor está posicionado.
[n]+y : copiar n linhas a partir da linha atual.
yy : copiar a linha atual.
[n]+Y : copiar n linhas a partir da linha atual.
YY : copiar a linha atual.
CTRL+B : voltar uma página.
CTRL+F : avançar uma página.
F1 : exibir tela de ajuda.
[n]+ENTER : ir para n linhas abaixo da linha atual.
[n]+. : repetir o último comando que alterou o texto n vezes a partir da posição atual do cursor.
[n]+~+ENTER : inverter a caixa (case) dos n caracteres seguintes ao cursor.
/texto : procurar pela primeira ocorrência do texto especificado a partir da posição atual do cursor.
São alguns dos comandos do vim no modo de linha
:r arquivo : incluir arquivo a partir da linha atual do cursor.
:q+ENTER : sair da tela de ajuda.
:q! : sair do vim sem salvar as alterações.
:w arquivo : salvar arquivo com o nome especificado.
:wq : sair do vim salvando as alterações.
:X : criptografa o arquivo.
fonte: http://www.uniriotec.br/~morganna/guia/vim.html
-------------------------------------------------------------------------------------
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
fonte:http://www.tocadoelfo.com.br/2009/06/99-comandos-do-vim-que-todo-programador_15.html
-------------------------------------------------------------------------------------
@ditexen
Copy link

ditexen commented Jun 14, 2018

fdisk -lu

@arnaldogranato
Copy link

Show, só faltou comentar se quiser deixar fixo algo, criar um arquivo .vimrc no seu home com as opções default

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment