VIM — CARTÃO DE REFERÊNCIA

Movimentos básicos h l k j . . . . . . . . caracter esq., dir., linha acima, abaixo b w. . . . . . . . . . . . . . . . . . . .palavra/token esquerda, direita ge e . . . . . . . . . . . . . . fim palavra/token esquerda, direita { }. . . . . . . . . . . . . . .começo parágrafo anterior, posterior ( ). . . . . . . . . . . . . . . .começo sentença anterior, posterior 0 gm . . . . . . . . . . . . . . . . . . . . . . . . . . . começo, meio da linha ^$ . . . . . . . . . . . . . . . . . primeiro, último caracter da linha nG ngg . . . . . . . . . . . . . linha n, padrão o último, primeiro n%. . . . . . . . . .porcentagem n do arquivo (n deve existir) n| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . coluna n da linha atual %. .acha próximo parêntese, colchete, coment., #define nH nL . . . . . . . . . . . . . . . . . linha n do topo, base da janela M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .linha do meio da janela

Inserção & substituição → modo insert i a . . . . . . . . . . . . . . . . . . . . . insere antes, depois do cursor I A . . . . . . . . . . . . . . . . . . . . . . insere no início, fim da linha gI . . . . . . . . . . . . . . . . . . . . . insere texto na primeira coluna o O . . . . . . abre nova linha abaixo, acima da linha atual rc . . . . . . . . . . . . . . . . . . substitui caracter sob cursor por c grc. . . . . . . . . . . . . . . . . . .como r, mas sem afetar o layout R . . . . . . . . . . . . substitui caracteres começando do cursor gR. . . . . . . . . . . . . . . . . . . .como R, mas sem afetar o layout cm. . . . . . . . . .muda texto do comando de movimento m cc ou S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . muda linha atual C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . muda até o fim da linha s. . . . . . . . . . . . . . . . . . . . . . . . . . .muda um caracter e insere ~ . . . . . . . . . . . . . . muda maiúsc./minúsc. e avança cursor g~m. . . . . . . . . .muda maiúsc./minúsc. do movimento m gum gUm … texto do movim. m minúsculo, maiúsculo <m >m. . . . . .desloca esq., dir. texto do movimento m n<< n>>. . . . . . . . . . . .desloca n linhas esquerda, direita

Eliminação x X. . . . . . . . . . . . . . . .apaga caracter sob, antes do cursor dm . . . . . . . . . . . . apaga texto do comando movimento m dd D . . . . . . . . . . . . . . . apaga linha atual, até fim da linha J gJ . . . . . . . junta linha atual com próxima, sem espaço :rd↩ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . apaga r linhas :rdx↩ . . . . . . . . . . . . . . apaga r linhas, põe registrador x Modo Inserção ˆ Vc ˆ Vn . insere caracter c literalmente, valor decimal n ˆ A. . . . . . . . . . . . . . . . . .insere texto inserido anteriormente ˆ @ . . . . . . mesmo que ˆ A e pára insert → modo comando ˆ Rx ˆ Rˆ Rx . . insere conteúdo registrador x, literalmente ˆ N ˆ P. . . . . . . . . . .completa texto antes, depois do cursor ˆ W . . . . . . . . . . . . . . . . . . . . . . apaga palavra antes do cursor ˆ U . . . . . . . . . apaga todos caracteres inseridos linha atual ˆ D ˆ T . . . . . . . desloca esquerda, direita largura 1 desloc. ˆ Kc_{1}c_{2} ou c_{1}←c_{2} . . . . . . . . . . . . . . . . . . . entra dígrafo {c_{1}, c_{2}} ˆ Oc . . . . . . . . . . . executa c em modo comando temporário ˆ Xˆ E ˆ Xˆ Y . . . . . . . . . . . . . . . . . . . . . . . . . . rola acima, abaixo ⟨esc⟩ ou ˆ [. . . . . . . . . .abandona edição → modo comando

Copiando

"x … usa registrador x para próximo delete, yank, put :reg↩ … mostra o conteúdo de todos os registradores :reg x↩. . . . . . . . .mostra conteúdo dos registradores x ym . . . . . . . . . . copia texto do comando de movimento m yy ou Y . . . . . . . . copia texto da linha atual no registrador p P …. cola registrador depois, antes da posição cursor ]p [p . . . . . . . . . . . . . . . . . . como p, P com recuo ajustado gp gP …. como p, P deixando cursor depois texto novo

Inserção Avançada

g?m . . . . . . . . . . . . faz codificação rot13 no movimento m nˆ A nˆ X . . . . . . . . . . . . . . +n, −n no número sob o cursor gqm. . . . .formata linhas do mov. m com largura fixada :rce w↩. . . . . .centra linhas na faixa r para largura w :rle i↩ . . . . . alinha esq. linhas na faixa r com recuo i :rri w↩ . alinha dir. linhas na faixa r para largura w !mc↩ . . . . . filtra linhas do mov. m através comando c n!!c↩ . . . . . . . . . . . filtra n linhas através do comando c :r!c↩ … filtra faixa de r linhas através do comando c

Modo Visual

v V ˆ V …. começa/pára destaque caract., linhas, bloco o. . . . . . .troca posição do cursor com início do destaque gv . . . . . . . . . . . . . . inicia destaque na area visual anterior aw as ap . . seleciona uma palavra, sentença, parágrafo ab aB . . . . . . . . . . . . seleciona um bloco ( ), um bloco { } Comandos desfazer & repetir u U. .desfaz último cmd, restaura última linha mudada . ˆ R. …repete últimas mudanças, refaz último desfazer n. . repete últimas mudanças com cont. trocado por n qc qC … grava, anexa caracteres digitados no regist. c q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pára de gravar @c. . . . . . . . . . . . . . . . .executa o conteúdo do registrador c @@. . . . . . . . . . . . . . . . . . . . . . . . . .repete comando @ anterior :@c↩ . . . . . . . . . executa registrador c como comando Ex :rg/p/c↩ . . . . . . . . . . . executa comando Ex c na faixa r

⌊ onde padrão p combinar

Movimento complexo

- + . . . . . linha acima/abaixo no 1^{o} caracter não-branco B W. . . . . . . . . .palavra separada por espaço a esq., a dir. gE E. .fim de palavra separada por espaço a esq., a dir. n . . . . . . . . desce n − 1 linhas no 1^{o} caracter não-branco g0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . início da linha screen g^g$ . . . . . . . . primeiro, último caracter da linha screen gk gj . . . . . . . . . . . . . . . . . . . . . . linha screen acima, abaixo fc Fc . . . . . . . ocorrência seguinte, anterior do caracter c tc Tc . . . . . . . antes da ocorrência seguinte, anterior de c ; , . . . . . . . . . . . . . repete último fFtT, na direção oposta [[ ]] . . . . . . . . . . . . . . . . . começo de seção atrás, a frente [] ][ . . . . . . . . . . . . . . . . . . . . . fim de seção atrás, a frente [( ]) . . . . . . . . . . . . . . . . . . (, ) não fechado atrás, a frente [{ [} . . . . . . . . . . . . . . . . . {, } não fechado atrás, a frente [m ]m . . . . . . começo, fim de java method atrás, a frente [# ]# . . #if, #else, #endif não fechado atrás, a frente [* ]* . . . . . . . . . . . . começo, fim de /* */ atrás, a frente

Busca & substituição

/s↩ ?s↩ . . . . . . . . . . . . . . . procura a frente, atrás por s /s/o↩ ?s?o↩…procura s atrás, frente com desloc. o n ou /↩ . . . . . . . . . . . . . . . . . . . repete última busca a frente N ou?↩ . . . . . . . . . . . . . . . . . . . . . repete última busca atrás # *. . . . . . . .procura atrás, a frente palavra sob o cursor g# g* . . . . . . . . . . . . o mesmo, mas busca também parcial gd gD . . . . . definição local, global de símbolo sob cursor :rs/f/t/x↩ . . . . . . . . . . . . . . substitui f por t na faixa r ⌊ x : g—todas as ocorrências, c—confirma mudanças :rs x↩. . . . . . . . . .repete substituição com novos r & x Caracteres especiais em padrões de busca . ˆ $. . . . . . . . . .qualquer caracter, começo, fim de linha \< \> . . . . . . . . . . . . . . . . . . . . . . . . . . . . início, fim de linha [c_{1}-c_{2}] . . . . . . . . . . . . . . . . . . . . um caracter na faixa c_{1}..c_{2} [ˆ c_{1}-c_{2}]. . . . . . . . . . . . . . . . . . . . .um caracter fora da faixa \i \I . . . . . . . . . . . . . . um identificador, excluindo dígitos \k \K. . . . . . . . . . . .uma palavra-chave, excluindo dígitos \f \F . . . . . . . . . . um nome de arquivo, excluindo dígitos \p \P . . . . . . . um caracter imprimível, excluindo dígitos \s \S … um espaço em branco, um espaço não-branco \e \t \r \b . . . . . . . . . . . . . . . . . . . ⟨esc⟩, ⟨tab⟩, ⟨↩⟩, ⟨←⟩ \= * \+…combina 0..1, 0..∞, 1..∞ de átomos preced. \| . . . . . . . . . . . . . . . . . . . . . . . . . . . separa dois ramos (≡ or) \( \). . . . . . . . . . . . . . . . . . .agrupa padrões em um átomo

Deslocamentos em comandos de busca n ou +n . . . . . . . . . . . . . . . . . . . . . linha n abaixo na coluna 1 -n . . . . . . . . . . . . . . . . . . . . . . . . . . linha n acima na coluna 1 e+n e-n. …n caracteres a dir., esq. do fim da combin. s+n s-n…n caracteres a dir., esq. do começo combin. ;sc . . . . . . . . . . . . . executa comando de busca sc próximo

Marcas e movimentos mc. . . . . . . . . . .marca posição atual com marca c ∈ [a..Z] `c `C . . . . . . . vai para marca c no arquivo atual, C em qualquer arq. `0..9 . . . . . . . . . . . . . . . . . . . . . . . . . . vai para última posição `` `" … vai para posição antes salto, na última edição `[ `] . . . . . vai para começo, fim texto operado anterior :marks↩. . . . . . . . . . . . . . . .mostra lista de marcas ativas :jumps↩ . . . . . . . . . . . . . . . . . . . . . . . mostra lista de saltos nˆ O . . . . . . vai para n^{a} posição mais velha na lista saltos nˆ I. . . . . . .vai para n^{a} posição mais nova na lista saltos

Mapeamento de teclas & abreviações :map c e↩…mapeia c ↦ e em modo normal & visual :map! c e↩ . . . . . mapeia c ↦ e em modo & linha-cmd :unmap c↩ :unmap! c↩ . . . . . . remove mapeamento c :mk f↩ …. escreve mapeamentos, ajustes... atuais no arquivo f :ab c e↩ . . . . . . . . . . . . . adiciona abreviação para c ↦ e :ab c↩ . . . . . . . . . . mostra abreviação começando com c :una c↩. . . . . . . . . . . . . . . . . . . . . . . . .remove abreviação c Tags :ta t↩ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pula para tag t :nta↩. . . . . . . . . . . .pula para n^{a} tag mais nova na lista ˆ ] ˆ T . . . . . . . . . pula para tag sob cursor, retorna da tag :ts t↩ . lista tags que comb. e seleciona uma p/ pular :tj t↩ . . . . . . pula para tag ou seleciona uma se várias :tags↩ . . . . . . . . . . . . . . . . . . . . . . . . . . mostra lista de tags :npo↩ :nˆ T↩. . . . . .pula atrás de, para n^{a} tag antiga :tl↩ . . . . . . . . . . . . . . pula para última tag que combina ˆ W} :pt t↩ . . . . . . . . . . . . . . . prevê tag sob cursor, tag t ˆ W] . . . . . . . . . . . . . . divide janela e mostra tag sob cursor ˆ Wz ou:pc↩ . . . . . . . . . . . . . . fecha janela visualização tag

Rolagem & multi-janela ˆ E ˆ Y . . . . . . . . . . . . . . . . . . . . . . . . . rola linha acima, abaixo ˆ D ˆ U . . . . . . . . . . . . . . . . . . rola meia página acima, abaixo ˆ F ˆ B . . . . . . . . . . . . . . . . . . . . . . . rola página acima, abaixo zt ou z↩ . . . . . . . . . . . . . . . . põe linha atual topo da janela zz ou z. . . . . . . . . . . . . . . põe linha atual centro da janela zb ou z- . . . . . . . . . . . . . . . . . põe linha atual base da janela zh zl . . . . . . . . . . . . . rola um caracter a direita, esquerda zH zL. . . . . . . . . . . . . . . .rola meia tela a direita, esquerda ˆ Ws ou:split↩ . . . . . . . . . . . . . . . . . divide janela em duas ˆ Wn ou:new↩ . . . . . . . . . . . . . . . . . . . . cria nova janela vazia ˆ Wo ou:on↩ . . . . . . . . . . . coloca janela atua em uma tela ˆ Wj ˆ Wk . . . . . . . . . . . . . . . move para janela abaixo, acima ˆ Ww ˆ Wˆ W. . . . . . .move para janela abaixo, acima (troca)

Comandos Ex (↩) :e f . . . . . . . . . edita arquivo f, a menos que modificado :e! f . . . . . edita arq. f sempre (por padrão relê atual) :wn :wN . . . . . . . grava arquivo e edita próximo, anterior :n :N . . . . . . . . . edita arquivo seguinte, anterior na lista :rw . . . . . . . . . . . . . . . . . . . . . grava faixa r no arquivo atual :rw f . . . . . . . . . . . . . . . . . . . . . . grava faixa r no arquivo f :rw>>f . . . . . . . . . . . . . . . . . .adiciona faixa r no arquivo f :q :q! . . . . . . . . sai e confirma, sai e descarta mudanças :wq ou:x ou ZZ . . . . . . . . . . . . . grava no arquivo atual e sai ⟨up⟩ ⟨down⟩ … chama comandos começando com atual :r f . . . . . . .insere conteúdo do arquivo f abaixo cursor :r! c. . . . . . . . . . . .insere saída comando c abaixo cursor :all. . . . .abre janela para cada arquivo na lista argtos. :args . . . . . . . . . . . . . . . . . . . mostra a lista de argumentos Faixas Ex , ; …. separa dois números linhas, def. para 1^{a} linha n. . . . . . . . . . . . . . . . . . . . . .um número de linha n absoluto . $ . . . . . . . . . . . . . . . linha atual, última linha no arquivo % * . . . . . . . . . . . . . . . . . . . . . . . . . . arquivo todo, area visual 't . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . posição da marca t /p/ ?p? . . . . . . . linha seguinte, anterior onde p combina +n -n . . . . . . . . . . . +n, −n até número linha precedente

Miscelânea

:sh↩ :!c↩ . . começa shell, executa cmdo. c em shell K . . . . . . . . . . . procura palavra-chave sob cursor com man :make↩ . . . . . . . começa make, lê erros e vai ao primeiro :cn↩ :cp↩ . . . . . . . . . . . mostra erro seguinte, anterior :cl↩ :cf↩ . . . . . . . . . . . lista erros, lê erros do arquivo ˆ L ˆ G…redesenha tela, mostra nome arquivo e posição gˆ G . . . . . mostra coluna cursor, linha e posição caracter ga . . . . . . . . . . mostra valor ASCII do caracter sob cursor gf . . . . . . . . . . . . . abre arquivo cujo nome está sob cursor :redir>f↩ . . . . . . . . . redireciona saída para arquivo f ˆ @ ˆ K ˆ \ …. teclas sem uso, disponíveis para mapear

Este cartão pode ser distribuído livremente sob os termos da licença pública geral GNU — Copyright ◯^{c} 2002 por Laurent Grégoire ⟨laurent.gregoire@icam.fr⟩ — v1.5 — O autor não se responsabiliza por quaisquer erros nesse cartão. A última versão

                                                                  pode ser encontrada em http://tnerual.eriogerg.free.fr/