:h[elp] <keyword> - Abra a ajuda para <keyword> ( não use "<>" ):sav[eas] <file> - Salvar <file> como:clo[se] - Fechar o painel atual:ter[minal] - Abra uma janela de terminal K - Página de homem aberto para palavra sob o cursor
Dica : - Execute o Vimtutor em um terminal para aprender os primeiros comandos VIM.
h - Mova o cursor esquerdo
j - Mova o cursor para baixo
k - Mova o cursor para cima
l - Mova o cursor direito
H - Mova para o topo da tela
M - Mova para o meio da tela
L - Mova para o fundo da tela
w - pule para a frente para o início de uma palavra
W - pule para a frente para o início de uma palavra (as palavras podem conter pontuação)
e - pule para o final de uma palavra
E - pule para a frente para o final de uma palavra (as palavras podem conter pontuação)
b - pule para trás para o início de uma palavra
B - pule para trás para o início de uma palavra (as palavras podem conter pontuação)
% - mova para o caractere correspondente (pares suportados padrão: '()', '{}', '[]' - use: h fósforos no vim para mais informações)
0 - Pule para o início da linha
^ - pule para o primeiro caráter não em branco da linha
$ - pule para o final da linha
; - Repita o movimento F ou T anterior F ou T
, - Repita o movimento F, T, T ou T anterior, para trás
} - pule para o próximo parágrafo (ou função/bloco, ao editar o código)
{ - pule para o parágrafo anterior (ou função/bloco, ao editar o código)
g_ - pule para o último caráter não em branco da linhagg - Vá para a primeira linha do documentoG - Vá para a última linha do documento5gg ou 5G - Vá para a linha 5gd - Mova para a declaração localgD - Mudar para a declaração globalfx - Salte para a próxima ocorrência do personagem xtx - Pule para antes da próxima ocorrência do personagem xFx - Pule para a ocorrência anterior do personagem xTx - Salte após a ocorrência anterior do personagem xzz - cursor central na telagh - Mova o cursor até a linha do editor Peviousgj - Mova o cursor para a próxima linha do editorg0 - Pule para o início da linha do editorg^ - pule para o primeiro caráter não em branco na linha do editorg$ - Pule para o final da linha do editor Ctrl + e - Mova a tela para baixo em uma linha (sem mover cursor)
Ctrl + y - Mova a tela para cima uma linha (sem o cursor em movimento)
Ctrl + b - Vá de volta uma tela cheia
Ctrl + f - Avance uma tela cheia
Ctrl + d - Avance 1/2 uma tela
Ctrl + u - Vá de volta 1/2 uma tela
Dica : - Prefixo um comando de movimento cursor com um número para repeti -lo. Por exemplo, 4J se move para baixo 4 linhas.
Ctrl + h - Exclua o personagem antes do cursor durante o modo de inserçãoCtrl + w - Exclua palavra antes do cursor durante o modo de inserçãoCtrl + j - Comece a nova linha durante o modo de inserçãoCtrl + t - Indent (Move à direita) Linha um ShiftWidth durante o modo de inserçãoCtrl + d - De -Indent (Move à esquerda) Linha um ShiftWidth durante o modo de inserçãoCtrl + n - Inserir (preenchimento automático) Próximo correspondência antes do cursor durante o modo de inserçãoCtrl + p - Inserir (completar automaticamente) correspondência anterior antes do cursor durante o modo de inserçãoCtrl + rx - Insira o conteúdo do registro xCtrl + ws - Janela divididaCtrl + wv - Janela dividida verticalmenteCtrl + ww - Switch WindowsCtrl + wq - Saia de uma janelaCtrl + wx - Troca a janela atual com a próximaCtrl + w= - faça de todas as janelas altura e largura iguaisCtrl + wh - Mova o cursor para a janela esquerda (divisão vertical)Ctrl + wl - Mova o cursor para a janela direita (divisão vertical)Ctrl + wj - Mova o cursor para a janela abaixo (divisão horizontal)Ctrl + wk - Mova o cursor para a janela acima (divisão horizontal) i - insira diante do cursorI - insira no início da linhaa - inserir (apegar) após o cursorA - inserir (anexar) no final da linhao - Anexar (aberto) uma nova linha abaixo da linha atualO - Anexar (aberto) uma nova linha acima da linha atualea - inserir (anexar) no final da palavraEsc - Modo de inserção de saídar - substitua um único caractereJ - Junte -se à linha abaixo para a atual com um espaço entregJ - Junte -se à linha abaixo para a atual sem espaço entregwip - parágrafo de reflexãog~ - Caixa de mudança para o movimentogu - Mudar para minúsculas para o movimentogU - Mudar para manchas até o movimentocc - Alterar (substituir) Linha inteiraC - Mudar (substituir) para o final da linhac$ - Alterar (substituir) até o final da linhaciw - Alterar (substituir) Palavra inteiracw - Alterar (substituir) até o final da palavras - Exclua o personagem e o texto substitutoS - Excluir linha e texto substituto (o mesmo que CC)xp - Transpor duas letras (excluir e colar)u - desfazerU - Restauração (desfazer) a última linha alteradaCtrl + r - refazer. - Repita o último comando v - Iniciar o modo visual, marcar linhas e depois fazer um comando (como y -yank)V - Iniciar o modo visual linewisegv - Iniciar o modo visual, lembrando a seleção anterioro - mova para outra extremidade da área marcadaCtrl + v - Iniciar o modo de bloco visualO - mova para outro canto do blocoaw - marque uma palavraab - um bloco com ()aB - um bloco com {}at - um bloco com tags <>ib - Bloco interno com ()iB - Bloco interno com {}it - Bloco interno com tags <>Esc - Modo visual de saída> - Shift Text Right< - Shift Text restantey - Yank (cópia) Texto marcadod - Excluir texto marcado~ - caixa de comutaçãou - altere o texto marcado para minúsculasU - altere o texto marcado para maiúsculas :reg[isters] - Mostrar registros de conteúdo
"xy` - Yank no registro x
"xp` - Cole o conteúdo do registro x
"+y` - Yank no registro da área de transferência do sistema
"+p` - Cole a partir do registro do sistema de transferência do sistema
Dica - Os registros estão sendo armazenados em ~/.viminfo e serão carregados novamente no próximo reinicialização do VIM.
0 - Último Yank" - Registro sem nome, último delete ou Yank% - Nome do arquivo atual# - nome de arquivo alternativo* - Conteúdo da área de transferência (x11 primário)+ - Conteúdo da área de transferência (X11 Clipboard)/ - Último padrão de pesquisa: - Última linha de comando. - Último texto inserido- - Último pequeno (menos que uma linha) exclua= - Registro de expressão_ - registro do buraco negro :marks* - Lista de marcas
ma - Defina a posição atual para a marca A
`a - salte para a posição de marca A
y`a - textos Yank para a posição da marca A
`0 - Vá para a posição onde Vim foi exitado anteriormente
`" - Vá para a posição quando a última edição deste arquivo
`. - Vá para a posição da última mudança neste arquivo
`` - vá para a posição antes do último salto
:ju[mps] - Lista de saltos
Ctrl + i - Vá para a posição mais recente na lista de saltos
Ctrl + o - Vá para a posição mais antiga na lista de saltos
:changes - lista de alterações
g, - Vá para a lista mais recente da Lista de Mudanças
g; - Vá para a posição mais antiga na lista de alterações
Ctrl + ] - Salte para a tag sob cursor
Dica - Para pular para uma marca, você pode usar um backtick ( ` ) ou um apóstrofo ('). O uso de um apóstrofo salta até o início (primeiro não preto) da linha que mantém a marca.
qa - gravar macro aq - Pare de gravar macro@a - Execute macro a@@ - RERUN Last Run Macro yy - Yank (cópia) uma linha2yy - Yank (cópia) 2 linhasyw - Yank (cópia) os caracteres da palavra da posição do cursor até o início da próxima palavray$ - Yank (cópia) ao fim da linhap - Coloque (cola) a prancha após cursorP - Coloque (pasta) antes do cursordd - excluir (cortar) uma linha2dd - Excluir (corte) 2 linhasdw - excluir (cortar) os caracteres da palavra da posição do cursor até o início da próxima palavraD - Exclua (corte) até o final da linhad$ - Exclua (corte) até o final da linhax - Delete (Cut) caractere >> - REDENT (mover à direita) Linha um ShiftWidth<< - De -indent (Mover para a esquerda) Linha um ShiftWidth>% - Recupe um bloco com () ou {} (cursor na cinta)>ib - Bloco interno de recuo com ()>at - recuar um bloco com <> tags3== - reiniciar 3 linhas=% - reiniciar um bloco com () ou {} (cursor na cinta)=iB - reiniciar o bloco interno com {}gg=G - reiniciar o buffer inteiro]p - Cole e ajuste o recuo à linha atual :w - escreva (salve) o arquivo, mas não saia:w!sudo tee % - escreva o arquivo atual usando sudo:wq ou :x ou ZZ - escreva (salvar) e desistir:q - desistir (falha se houver alterações não salvas):q! ou ZQ - Saia e jogue fora as mudanças não salvas:wqa - escreva (salvar) e desistir em todas as guias /pattern - Pesquise o padrão?pattern - Pesquise para trás por padrãovpattern - padrão 'muito mágico': caracteres não alfanuméricos são interpretados como símbolos regex especiais (sem necessidade de escapar)n - Repita a pesquisa na mesma direçãoN - Repita a pesquisa em direção oposta:%s/old/new/g - substitua tudo antigo por novo em todo o arquivo:%s/old/new/gc - substitua todos os antigos por um novo arquivo com confirmações:noh[lsearch] - Remova o destaque das correspondências de pesquisa:vim[grep] /pattern/ {`{file}`}**** - pesquise padrão em vários arquivos ** eg :vim[grep] /foo/ **/*:cn[ext] - pule para a próxima partida:cp[revious] - Pule para a partida anterior:cope[n] - Abra uma janela que contém a lista de correspondências:ccl[ose] - feche a janela Quickfix :tabnew ou :tabnew {page.words.file} - Abra um arquivo em uma nova guiaCtrl + wT - Mova a janela de divisão atual para sua própria guiagt ou :tabn[ext] - mova para a próxima guiagT OR :tabp[revious] - Mova para a guia anterior#gt - Mova para o número da guia #:tabm[ove] # - Mova a guia atual para a posição # TH (indexada de 0):tabc[lose] - Feche a guia atual e todas as suas janelas:tabo[nly] - feche todas as guias, exceto para a atual:tabdo command - Execute o comando em todas as guias (por exemplo :tabdo q - fecha todas as guias abertas) :e[dit] Arquivo - Edite um arquivo em um novo buffer:bn[ext] - vá para o próximo buffer:bp[revious] - Vá para o buffer anterior:bd[elete] - exclua um buffer (feche um arquivo):b[uffer]# - vá a um buffer pelo índice #:b[uffer] <file> - Vá a um buffer por <file> (_Remove o "<>"):ls ou :buffers - liste todos os buffers abertos:sp[lit] <file> - Abra um <file> em uma nova janela de buffer e divisão:vs[plit] <file> - Abra um <file> em um novo buffer e janela verticalmente dividida:vert[ical] ba[ll] - edite todos os buffers como janelas verticais:tab ba[ll] - Edite todos os buffers como guias zf - Defina manualmente uma dobra para o movimentozd - Exclua dobra sob o cursorza - alternar dobrar sob o cursorzo - Abra a dobra sob o cursorzc - Feche a dobra sob o cursorzr - Reduza (aberto) todas as dobras em um nívelzm - Dobre mais (feche) todas as dobras em um nívelzi - Alternar a funcionalidade de dobragem]c - Pule para o início da próxima mudança[c - salte para o início da mudança anteriordo ou :diffg[et] - obtenha (obtenha) diferença (de outro buffer)dp ou :diffpu[t] - coloque a diferença (para outro buffer):diffthis - faça a janela atual parte do Diff:dif[fupdate] - Atualizar diferenças:diffo[ff] - Desligue o modo Diff para a janela atual