v i m m é d i o por Aurélio Marinho Jargas - - - - - - - - SUBSTITUIÇÕES: ------------- :s/velho/novo substitua a 1a ocorrência de velho por novo na linha corrente :% s/velho/novo/ substitua em todo o arquivo (%) a 1a ocorrência de velho por novo em cada linha :% s/velho/novo/g substitua em todo o arquivo (%), todas (g) as ocorrências de velho por novo :% s/velho/novo/gc igual ao anterior, mas pedindo confirmação para cada substituição :% s/^String[0-9]//gc expressões regulares também funcionam, igual ao sed :% s/./\u&/gc converta para maiúsculas (\u) o 1o caracter (.) de cada linha (exclusiva vi/perl, no sed não funciona) ABREVIAÇÕES: ----------- :ab mostra todas as abbr :abc[lear] tira todos :iab apenas p/modo inserção :iabc[lear] tira todos de inserção :cab apenas p/modo de comando ( : ) :cabc[lear] tira todos modo comando :una vc tira ab para vc obs.: pontuação, espaço ou o ENTER, disparam a expansão de uma abreviação. mas o Ctrl+] também pode ser usado, para expandir sem adicionar caracteres. OPÇÕES DO SET: ------------- :set autowrite aw salva a cada alteração backspace bs comportamento backspace(1 ou 2) errorbell eb campainha de erro expandtab et troca tab por espacos fileformat=dos ff converte o arquivo para DOS hidden hid preserva buffer hlsearch hls ilumina a última procura ignorecase ic case insensitive na busca incsearch is ilumina procura enquanto digita laststatus=2 mostra linha de estado lazyredraw lz não redesenha em macros lines=N número de linhas na tela magic usar mágicas na procura de padrões number nu mostra núm da linha report=N mostra aviso quando N linhas mudaram (0=sempre) showcmd mostra o comando que se está fazendo showmatch sm mostra o casamento de {},[],() smartcase scs assume "noic" quando tiver maiúsculas textwidth=N quebra de linha do texto undolevels ul=N guarde os N últimos comandos p/desfazer (padrão=1000) vb t_vb= retira o "beep" de erro MAIÚSCULAS/MINÚSCULAS: --------------------- 5~ inverte 5 próximos g~$ inverte até o fim da linha seleciona, u converte p/minúsculas seleciona, U converte p/maiúsculas seleciona, ~ inverte *este seleciona, é com o modo visual DEFININDO COLUNA DE QUEBRA DE LINHA: ----------------------------------- :set textwidth=N mas, já estando num arquivo pronto: :set wm=30 (esse 30 é o número de colunas a cortar, 80-30=50 colunas) gq ex. gqG (ate o fim do arquivo) gq$ (ate o fim da linha) ou seleciona com o modo visual e gq Ctrl+: ----- modo COMANDO: A = incrementa um número (Add) X = decrementa um número S = ScrollLock L = redesenha tela V = modo visual (Visual Vertical) G = status do arquivo M = início da próxima linha E = linha abaixo sem mover cursor Y = linha acima sem mover cursor N = próxima linha (Next) P = linha anterior (Previous) F = PageDown (Forward) B = PageUp (Backyard) U = PageUp / 2 (Up) D = PageDown / 2 (Down) modo INSERÇÃO: A = insere o último texto inserido I = TAB S = ScrollLock H = BackSpace T = 2 tab's no início da linha (Two Tabs) V = anula expansão do próx. caractere J = Enter - quebra de linha M = Enter - quebra de linha L = redesenha tela R = insere conteúdo do registrador [a-z] *ver abaixo K = insere um dígrafo *ver abaixo N = procura palavra no texto atual (Next) P = procura palavra no texto atual (Previous) Y = copia caractere que está acima (Yank) CARACTERES ESPECIAIS (DÍGRAFOS): ------------------------------- ga mostra o código da letra sobre o cursor :dig mostra todos os dígrafos disponíveis ex.: para botar um ½, Ctrl+K,1,2 ARQUIVOS E JANELAS MÚLTIPLOS: ---------------------------- :wn grava o atual e vai ao próximo :wN grava o atual e vai ao anterior :args mostra todos os arquivos atuais :qa sai fora de todo mundo de uma vez :all abre todos os arquivos em janelas individuais Tecla chave das janelas = Crtl+W j, seta abaixo move para janela abaixo k, seta acima move para janela acima o apenas esta janela, fecha todas as outras (Only) +, - muda o tamanho da janela = deixa todas as janelas com tamanhos iguais DICAS DIVERSAS: -------------- :xit igual :wq, mas só grava se tiver sido alterado algo imprime no arquivo o próprio nome do arquivo editado qdo N_ARQ é digitado :map N_ARQ ^R=expand("%:t:r")^M dar dois TABs no início de cada linha: seleciona várias linhas, 2> macro para criar contagem ---> i1 qa Y p Ctrl+A q 5@a alinhamento, sim! alinhamento :left :right :center procurar 2 palavras ao mesmo tempo /palavra1\|palavra2