Você está na página 1de 18

Tutoriais/Aplicativos/VIM-1

Criando e Editando Arquivos no VI
Introdução
O sistema operacional GNU/Linux, assim como qualquer outro UNIX, possui todos os arquivos de
configuração em formato texto, diferentemente de outros sistemas operacionais que armazenam
suas configurações em arquivos binários. Isso possui várias vantagens, entre elas a de ser fácil de
modificar para corrigir erros eventuais e são de difícil corrompimento pois são simplesmente textos.
Ao se deparar com a necessidade de alterar algum desses arquivos, você pode utilizar editores bem
completos como o jed, XEmacs, ou um mais simples como o gedit e até o joe, mas nenhum desses
editores se compara ao Vi em termos de denominador comum. O Vi existe em qualquer distribuição
de Linux e está disponível em qualquer emergência (sabe quando o sistema não inicializa por algum
motivo e você tem que editar o lilo.conf ou o modules.conf?).
Levando em consideração esse fato, torna-se indispensável conhecer o Vi, pelo menos seu uso
básico, apesar deste editor possuir variantes muito mais completas que indicaremos mais para
frente.
O Vi foi originalmente criado pelo residente da Sun, Bill Joy, a partir do ed, quando ele ainda
estudava em Stanford.
Vi é um editor de textos ASCII poderoso e muito usado na interface de caracter (terminal) do Linux
para edição de arquivos e programas. O uso do vi não é muito intuitivo, à primeira vista, mas a
edição simples de textos pode ser feita usando poucos comandos. O programa que realmente se usa
nas distribuições modernas e principais do Linux é na realidade o vim (vi improved),
indistintamente chamado de vi.
O vi tem dois modos: o modo de operação e o modo de inserção. No modo de operação o vi espera
comandos do teclado. No modo de inserção, tudo que for digitado é encarado como texto a ser
inserido. Para entrar no modo de operação, basta digitar ESC. O vi sempre abre nesse modo. Para
entrar no modo de inserção, basta digitar a tecla INSERT nos PCs.
"vi" é a sigla para "Visual Interface". A origem desse nome se deve ao seguinte fato: quando o vi foi
criado (começo da década de 80), não era comum existirem editores de textos como nos dias de
hoje. Naquela época, você digitava um texto mas não podia vê-lo! Isso mesmo! Em 1992, foi criado
o vim (Vi IMitator), um clone fiel ao vi, porém com muitas outras funcionalidades, que só foram
sendo adicionadas. Algum tempo depois, o vim passou a ser chamado de `Vi IMproved' (vi
melhorado).
O vim é um dos editores de textos mais utilizados no mundo Unix. Em alguns sistemas, existe um
link simbólico (/bin/vi) apontando para o /usr/vim. Em outros, o /bin/vi é o executável, só que
executa diretamente o vim. Muita gente acha que usa vi, mas na verdade utiliza o vim, e eles têm
algumas diferenças. O que você verá abaixo fala sobre o vim.
O vim é um editor de textos muito poderoso, ele pode: abrir vários arquivos ao mesmo tempo,
possui sistema de autocorreção, auto-identação, seleção visual, macros, seleção vertical de texto,
uso de expressões regulares, sintaxe colorida, e muito mais. Ele não é exclusivo do Unix, ou seja,
pode ser executado em outras plataformas, como Amiga, MacOS, Sun, Windows entre outras.
Existe também o gvim, que é o vim em modo gráfico, com todas as funcionalidades do vim em
pleno funcionamento, o que muda é apenas o modo gráfico mesmo.

alterna do modo de edição para o modo de comando. $ vi ou $ vi arquivo . São eles: modo de inserção. e em interfaces texto através de arquivos de configuração. Para criar um novo arquivo texto. e voltar ao modo de comandos. no sistema UNIX / Linux. ou seja. i ou a. o final da linha é marcado apenas com um caractere LF (Line-Feed). Para entrar no modo de edição. kedit. Para abrir um arquivo existente. enquanto que em sistemas Windows o final da linha é marcado com a seqüência de caracteres CR-LF (Carriage Return-Line Feed). Trabalha em dois modos: • Modo de comandos • Modo de edição As configurações do Linux podem ser feitas em interfaces gráficas de utilitários. as teclas digitadas serão inseridas no arquivo. é fundamental ao administrador o domínio de um aditor de textos. Tudo que for passado pro vi no modo de comando sempre será entendido como comando e nunca como dados. Como desvantagem podemos descrever sua interface pobre e com comandos enigmáticos. Para sair do modo de edição. i . Outros editores: mcedit. Mesmo comandos válidos serão entendidos como dados se forem passados nesse modo. a instalação de todo e qualquer UNIX / Linux existentes no mercado. ele é extremamente útil justamente por estar presente em todas as distribuições UNIX / Linux. É o modo para escrever o texto (conteúdo) do arquivo. insert. emac Teclas de alternância entre os modos esc . O Editor VI Pode ser descrito como vantagem. basta pressionar a tecla ESC. por exemplo. Abordarei os dois principais: . basta digitar vi na linha de comandos do shell. estados em que ele se encontra. Um fota muito importante com relação a editores de texto é lembrar que. é preciso ter dado um comando de edição. neste caso. pico. visual.Modo de Edição . busca e reposição.O vim possui vários modos. basta digitar vi nome_do_arquivo. comandos. kwrite. Modo de edição Modo utilizado na criação do texto ou edição do mesmo. isto é. Apesar do editor vi ser extremamente pobre em recursos de edição. Modo de comando Utilizado sempre que se quiser interagir com o editor de textos de forma a passar instruções relativas ao texto. a.Modo de Comando. linha de comando.alterna do modo de comando para o modo de edição.

notar informação na parte inferior da tela.. ^F página acima. abaixo. / da continuidade a última busca executada (+enter) :w. funções e informações Comando insert Passa para o modo de edição. copiar. a inserir. posiciona o cursor diretamente na palavra especificada como critério de buscar :/ posiciona o cursor no inicio da linha que conté m a palavra specificada como critério de busca. :next! exibe o próximo arquivo aberto :previous. l esquerda. acrescentar x. apagar. é preciso dar algum comando de edição para o vi. procurar palavras (ou frases). Pelo modo de comandos é possível navegar pelo arquivo. página abaixo i. :q!. Para entrar no modo de edição. A forma mais comum é dar o comando de inserção (i de insert) ou de edição ( a de append). colar linha / buscar palavra no texto. :w! Salvar. palavra. ele começa no modo de comandos. k. linha Y. dd remove caracter. j. acima. ZZ salva e sai do vi (:qw não pode ser executado porque não pode-se sair do arquivo e depois salvar) :x salvar e sair :args mostra o nome dos arquivos abertos :next. :previous! Exibe o arquivo anterior aberto :split abre duas interfaces do vi independentes dd apaga n linhas yy copia n linhas tecla somente no modo de edição . Principais comandos do vi (somente no modo de comando) h.Toda vez que o vi é acionado. Comando vi Descrição do modo apresentando na tela.sai do aplicativo (quit) ! . direita (movimentação) ^B.salva alterações no conteúdo do arquivo (write) q . substituir. sair do vi.força a execução do comando :wq. dw.. força gravação (usado arquivo somente leitura) w . :q. P copiar. etc. sair sem salvar.

As sessões abertas a partir do comando :split são absolutamente independentes.swp :args (utilizado para visualizar os arquivos abertos numa mesma sessão) :next. :next! (visualizar o próximo arquivo) (não salva o arquivo) :previous.filtragem de exibição ? | [ ] | pesquisa ------------.dentro de um conteúdo (arquivo) especificado | filtragem de análise dentro de um arquivo ^ | Ex. você pode digitar a vontade como se fosse um editor de textos comum.Comando nativos Linux shift + PageUp deslocamento de tela shift + PageDown deslocamento de tela O vi quando é finalizado sem sair do programa é criado um arquivo com extensão . Esse . Sessão compartilhada entre diversos arquivos: split abre uma outra sessão ou terminal do vi permitindo o gerenciamento de um outro arquivo em paralelo.: grep $ | exemplo de busca: ls c* (busca arquivos que comecem com a letra c) exemplo de pesquisa: grep -E Usando o VI Modo de Edição No modo de edição. | + | * | busca ----------------. Ctrl + ww (navega entre as sessões ou terminais abertos do vi através do comando :split Metacaracteres . :previous! (visualizar a arquivo anterior) (não salva o arquivo) comandos que serão utilizados numa situação de sessão compartilhada entre arquivos do vi.

) seguido de qualquer comando executa o comando n vezes u : Desfaz última ação executada . Os comandos mais usados são: /Expressão: Procura Expressão (que pode ser qualquer palavra) no texto n : Procura próxima ocorrência de Expressão no texto N : Procura ocorrência anterior de Expressão no texto Yy : Copia linha atual do texto para memória p : Cola conteúdo da memória no texto dd : Apaga linha atual (e coloca na memória) n comando : Um número n (1.modo é iniciado no editor a partir do shell digitando-se vi entra-se no editor através de um dos seguintes comandos: i : insere texto a partir do cursor atual a : insere texto depois do cursor atual I : insere texto no início da linha A : insere texto no final da linha s : substitui texto no cursor atual S : substitui texto depois do cursor atual o : abre uma linha abaixo do cursor atual Modo de Comando No modo de comando. independe de salvar o conteúdo atual :w arquivo : Salva o arquivo atual com o nome arquivo . Alguns desses comandos são: substituição. além de recorte. 2. cópia e colagem de texto... . inserção e procura de texto. gravação e abertura de arquivos entre outros. você pode executar comandos. : Refaz última ação executada :n : Pula para linha de número n :w : Salva o arquivo atual :wq : Salva o arquivo atual e sai do Vi :x : Salva o arquivo atual e sai do Vi (equivalente) a :wq :q : Sai do Vi :q! : Sai do Vi . O modo de comando começa quando se aperta a tecla ESC.

setas direção Copiar texto marcado y Cortar texto marcado c Colar p Deletar para frente (DEL) x Deletar para trás (BACKSPACE) SHIFT+x Localiza texto para frente /texto Localiza novamente / Localiza texto para trás ?texto Localiza novamente ? Desfazer u Refazer CTRL+r Formatar Alinhamento Centralizado :ce Alinhamento à direta :ri Alinhamento à esquerda :le . Digite o comando vi 2. Aperte a tecla INSERT para digitar o texto 3.Edição simples de arquivos 1. A vírgula indica que as teclas devem ser digitadas em seqüência. Ao terminar a digitação aperte a tecla ESC O sinal de mais "+" indica teclas pressionadas simultaneamente. Mova o cursor com as setas de posição 4. Ação Comando Arquivo Abrir :e arquivo Salvar :w Salvar como :w arquivo Salvar e sair :wq Sair sem salvar :q! Editar Marcar texto para copiar ou cortar v.

ele inicia diretamente em modo de comando. pode digitar a vontade que só vai ouvir beeps. na primeira ocorrência da palavra "Copag". O vim entra em modo de inserção.Janela Abrir nova janela :new Dividir a janela atual em duas :split Abrir arquivo em nova janela :split arquivo Ir para janela de cima CTRL+w. $ vi arquivo => Abre o arquivo de nome "arquivo". j Ajuda help Modo de inserção e de comandos Para identificar o modo (estado) do vim.INSERT -- Lembre que utilizando o "i" para inserção. é só olhar na última linha (rodapé) e não vai haver nada lá. Para executar o vim. que você comprova (como falado anteriormente) pelo rodapé da tela.. Para começar a escrever. a mesma se inicia inserindo texto antes do cursor. Veja agora outros subcomandos de inserção de texto: A => Insere o texto no fim da linha onde se encontra o cursor o => Adiciona uma linha vazia abaixo da linha corrente O => Adiciona uma linha vazia acima da linha corrente Ctrl + h => Apaga último caracter à esquerda . com o cursor na linha 10. $ vi arquivo +10 => Abre o arquivo de nome "arquivo". Agora. utilize: $ vi => Abre o vim vazio.-. Para comprovar. $ vi arquivo + => Abre o arquivo de nome "arquivo". k Ir para janela de baixo CTRL+w. vamos à prática. $ vi arquivo +/Copag => Abre o arquivo de nome "arquivo". com o cursor no final do mesmo. sem nenhum arquivo e exibe a tela de apresentação. Ao executar o vim. basta visualizar o rodapé da tela. onde fica a seguinte marcação: . Isso quer dizer que você não conseguirá escrever nada. pressione "i" em seu teclado.

Obs. H => Move o cursor para a primeira linha da tela. Veja agora como apagar um determinado texto: Utilizando normalmente as teclas Backspace/Delete. para selecionar o texto desejado. w => Move o cursor para o início da próxima palavra (não ignorando a pontuação). G => Move o cursor para a última linha do arquivo. depois de ter selecionado o texto. ou entrando em modo visual (v) e . $ => Move o cursor para o fim da linha corrente. Ctrl + b => Passa para a tela anterior. Para colar. Copiando e colando textos no vim (utilizando o mouse Selecione o texto necessário com o botão esquerdo do mouse. Quando você for colar. l => Move o cursor para caracter a direita. ^ => Move o cursor para o primeiro caracter não branco da linha. j => Move o cursor para linha abaixo. •Pressionando o botão do meio do mouse (mouse de 3 botões). h => Move o cursor para caracter a esquerda. utilizando a tecla "p" (paste). W => Move o cursor para o início da próxima palavra (ignorando a pontuação). k => Move o cursor para linha acima. saiba que o texto será colado a partir de onde se encontra o cursor (esse que aparece. 0 (zero) => Move o cursor para o início da linha corrente.: Lembre-se que o vim deve estar no modo de inserção. às vezes piscando e às vezes não. quando você está digitando). Pressione e cole. nG => Move o cursor para a linha de número "n" (substitua n pelo número da linha). você pode utilizar uma dessas opções: •Pressionando o botão direito do mouse. b => Move o cursor para o início da palavra anterior (não ignorando a pontuação). B => Move o cursor para o início da palavra anterior (ignorando a pontuação)..Voltando ao modo de comando: Veja agora subcomandos para movimentação pelo texto: Ctrl + f => Passa para a tela seguinte. Usando o modo visual do vim Entre no modo visual: v Agora. utilize as teclas direcionais (setas) do teclado. M => Move o cursor para o meio da tela. •Pressionando o botão direito + botão esquerdo juntos. L => Move o cursor para a última linha da tela.

:5yy => Copia as próximas 5 linhas a partir da posição atual do cursor. dd => Apaga a linha inteira onde o cursor estive D => Apaga a linha a partir da posição do cursor até o fim. utilizando: dw Pode também remover até o final de uma frase: d$ Desfazendo uma ação É claro que você pode desfazer uma ação que você considera errado. o número da linha corrente e o total de linhas. Ctrl+g => Mostra o nome do arquivo. Mais opções para remoção de caracteres x => Apaga o caracter onde o cursor estiver. ou que errou ao digitar o texto. :5dd => Removeas próximas 7 linhas a partir da posição do atual do cursor (qualquer número). Mais para copiar e colar :yy => Copia a linha onde o cursor se encontra. utilize as teclas Ctrl + r. N => Repete o último comando / ou ? ao contrário (baixo para cima). Você pode remover até o final de uma palavra. n => Repete o último comando utilizando / ou ?. Opções para substituição de textos rCARACTER => Substitui o caracter onde o cursor se encontra pelo caracter especificado em CARACTER. Subcomandos para localização de texto /palavra => Procura pela palavra ou caracter acima ou abaixo do texto. RTEXTO => Substitui o texto corrente pelo texto digitado (sobrepõe). ?palavra => Move para a ocorrência anterior da palavra (para repetir a busca use "n"). J => Une a linha corrente à próxima. :p => Cola o que foi copiado na linha abaixo do cursor atual.pressionando a tecla Delete. . É só utilizar: u Se você precisar voltar o texto na tela.

Ctrl+] também pode ser usado. Opções para o comando SET :set autowrite aw => Salva a cada alteração. cc => Remove a linha corrente para substituição. :iab => Apenas para modo de inserção. como no sed. :% s/velho/novo => Substitui em todo o arquivo (%) a primeira ocorrência de "velho" por "novo" em cada linha. disparam a expansão de uma abreviação. :iabc[lear] => Tira todos de inserção. esperando o texto logo após o comando. . C => Substitui o restante da linha corrente. Porém./u&/gc => Converte para maiúsculas (u) o primeiro caracter (. :% s/^String[0-9]//gc => Expressões regulares também funcionam. J => Une a linha corrente à próxima. Abreviações :ab => Mostra todas as abbr. :% s/velho/novo/g => Substitui em todo o arquivo (%). :% s/velho/novo/gc => Igual ao anterior. Observação: Pontuação. espaço ou o ENTER. :cab => Apenas p/modo de comando ( : ). :una vc => Tira ab para vc. :s/velho/novo => Substitui a primeira ocorrência de "velho" por "novo" na linha corrente.cw => Remove a palavra corrente para substituição. :% s/. :abc[lear] => Remove todos. :cabc[lear] => Tira todos os modos de comando.) de cada linha. para expandir sem adicionar caracteres. todas (g) as ocorrências de "velho" por "novo". mas pedindo confirmação para cada substituição.

magic => Usar mágicas na procura de padrões. showcmd => Mostra o comando que se está fazendo.[]. Agora veja como definir coluna de quebra de linha (problema que eu tive quando iniciei no aprendizado do vim): :set textwidth=N . smartcase scs => Assume "noic" quando tiver maiúsculas. lines=N => Número de linhas na tela.backspace bs => Comportamento backspace (1 ou 2). number nu => Mostra núm da linha. seleciona. é para fazer utilizando o modo visual (v). g~$ => Inverte todos os caracteres até o fim da linha.(). report=N => Mostra aviso quando N linhas mudaram (0=sempre). ignorecase ic => Case insensitive na busca. vb t_vb= => Retira o "beep" de erro. fileformat=dos ff => Converte o arquivo para DOS. incsearch is => Ilumina procura enquanto digita. u => Converte para minúsculas. textwidth=N => Quebra de linha do texto. Agora invertendo maiúsculas/minúsculas 5~ => Inverte os 5 próximos caracteres. errorbell eb => Campainha de erro. ~ => Inverte. Observação: Onde está escrito "seleciona". expandtab et => Troca tab por espacos. lazyredraw lz => Não redesenha em macros. hidden hid => Preserva o buffer. U => Converte para maiúsculas. seleciona. showmatch sm => Mostra o casamento de {}. laststatus=2 => Mostra linha de estado. undolevels ul=N => Guarde os N últimos comandos para desfazer (padrão=1000). seleciona. hlsearch hls => Elumina a última procura.

gqG => Até o final do arquivo. No modo de 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) Agora. no modo de 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óximo caractere J => Enter .quebra de linha L => Redesenha tela R => Insere conteúdo do registrador [a-z] (Veja abaixo) . Vamos ver agora o que podemos fazer pressionando a tecla "Ctrl": É claro que é segurando Ctrl + .quebra de linha M => Enter .Se você já estiver num arquivo pronto: :set wm=5 => O número 5 aqui são as colunas que serão "cortadas".

use Ctrl+K. :reg => Mostra o conteúdo de todos os registradores.1. Os registradores "[a-z] => Use o registrador [a-z] para o próximo delete. use Ctrl+K.=> Muda o tamanho da janela. . +. Para fazer um ½. Trabalhando com arquivos e janelas múltiplas Você pode abrir múltiplos arquivos. Tecla chave das janelas = Crtl+W j. cópia ou cola. k.K => Insere um dígrafo (Veja abaixo) N => Procura palavra no texto atual (Next) P => Procura palavra no texto atual (Previous) Y => Copia caractere que está acima (Yank) Veja os caracteres especiais: ga => Mostra o código da letra sobre o cursor. Veja: :wn => Grava o atual e vai ao próximo.o ("Ctrl"+"K"+"-"+"o").2 ("Ctrl"+"K"+"1"+"2"). :args => Mostra todos os arquivos atuais. = => Deixa todas as janelas com tamanhos iguais. :wN => Grava o atual e vai ao anterior. seta acima => Move para janela acima. Observação: O [a-z] pode ser: 0-9a-z%#:.-=" Marcas: . :dig => Mostra todos os dígrafos disponíveis (tabela). :all => Abre todos os arquivos em janelas individuais. por exemplo: $ vim arquivo1 arquivo2 E pode alternar entre as janelas. fecha todas as outras (Only). seta abaixo => Move para janela abaixo. o => Apenas esta janela. :reg [a-z] => Mostra o conteúdo do registradores [a-z].-. :qa => Sai de todas as janelas de uma vez. Exemplos: Para fazer um º.

Fazendo gravação de seqüência de comandos q[a-z] => Inicia a gravação de uma seqüência no registrador [a-z]. adicionando no registrador [a-z]. :cmap r!date => Mapeamento em modo linha de comando. ou seja. :imap :r!date => Mapeamento em modo de inserção.si :set ai!:echo "autoIndent="&ai "mostrar os espaços em branco no fim das linhas :map / *$^M Através dos mapeamentos é possível "encurtar" comandos. @[a-z] => Executa a seqüência do registrador [a-z] (5 vezes? 5@a) Dica: Pode-se colocar o @[a-z] dentro da própria gravação do q[a-z]! Assim ele é executado recursivamente.m[a-z] => Marca em [a-z] a posição corrente do cursor. `[a-z] => Vai até a marca [a-z]. :marks => Mostra as marcas ativas. Conheça as sintaxes: Comment => Ciano Constant => Roxo Identifier => Ciano . Mapeamentos :map :r!date => Mapeamento em modo de comando. abreviá-los. q[A-Z] => Inicia a gravação. Exemplos: "html: negrito no trecho selecionado :vmap d`pa # html: negrito no trecho selecionado "liga/desliga autoIndent :map . `` => Vai até a posição anterior ao último pulo (alterna). faz para todas as ocorrências. q => Pára a gravação. :vmap :r!date => Mapeamento em modo visual. Muito útil quando há uma procura de padrões na gravação.

mas só grava se tiver sido alterado algo no arquivo. veja como alinhar o texto: :left :right :center .vimrc pode ser usado para muitas configurações. e essa é uma delas. fundo vermelho Ignore => Preto.exrc.18-3 Dicas diversas do vim: :xit => Igual :wq. fundo preto! .4. utilizando: :r!comando Por exemplo: :r!rpm -q kernel Incluiria o seguinte resultado. dentro do seu texto (isso na minha máquina): kernel-2. fundo marrom Error => Branco.esconde Utilizando o recurso de expandtab Mas. Agora.PreProc => Azul escuro Special => Vermelho Statement => Amarelo String => Roxo Type => Verde Todo => Preto.vimrc a seguinte linha: set expandtab O arquivo ~/. utilizando o comando: :set expandtab Para desabilitar: :set noexpandtab Podemos colocar também no arquivo ~/. o que isso faz? Transforma todos os TABs em espaços. Podemos incluir a saída de um comando no vim. mas não entraremos em detalhes. Podemos ativar dentro do próprio vim. :map N_ARQ ^R=expand("%:t:r")^M Imprime no arquivo o próprio nome do arquivo editado quando N_ARQ é digitado. Existe ainda o arquivo ~/.

passa para o modo comando MODO COMANDO Subcomandos para Movimentação pelo Texto Ctrl + f ..insere texto no fim da linha onde se encontra o cursor o .move o cursor para a primeira linha da tela M .insere texto antes do cursor r . Subcomandos do editor VI MODO TEXTO Subcomandos de inserção de texto: i .passa para a tela seguinte Ctrl + b .adiciona linha acima da linha corrente o .E para fazer uma busca de 2 palavras ao mesmo tempo: /palavra1|palavra2 O vim é um editor de textos com centenas de opções.apaga ultima palavra minúscula ESC . Enão dá para abordar tudo aqui.move o cursor para caracter a esquerda j .insere texto no início da linha onde se encontra o cursor a .passa para a tela anterior H .move o cursor para alinha acima l . strings.move o cursor para o meio da tela L .move o cursor para o caracter a direita w .move cursor para início da próxima palavra (ignora pontuação) W . comandos.adiciona linha abaixo da linha corrente Ctrl + h ..move o cursor para a linha abaixo k .apaga ultimo caracter Ctrl + w . Por isso. a melhor maneira de conhecê-lo a fundo é usando-o.move o cursor para a última linha da tela h .move cursor para inicio da próxima palavra (não ignora pontuação) .insere texto depois do cursor A .

move para a linha ¨G¨ G . cc .mostra o nome do arquivo.deleta um caracter que esta sobre o cursor dw . Pode-se inserir o novo conteúdo da palavra automaticamente.repete o ultimo / ou ? comando N .move cursor para inicio da palavra anterior (ignora pontuação) B .move cursor para o fim da linha corrente nG .deleta a linha inteira onde o cursor estiver D .move cursor para inicio da palavra anterior (não ignora pontuação) 0 (zero_ .repete o ultimo / ou ? comando na direção reversa Ctrl + g .move para a ocorrência anterior da palavra (para repetir a busca usar n) n .deleta a palavra. do inicio da posição do cursor ate o fim dd .b .substitui o caracter sob o sursor pelo especificado x (e opcional indicar o caracter) Rtexto . o numero da linha corrente e o total de linhas Subcomandos para alteração de TEXTO x . Pode-se inserir o novo conteúdo da linha automaticamente.substitui a linha corrente. .move cursor para o primeiro caracter não branco da linha $ .substitui a palavra corrente.move para a última linha do arquivo Subcomandos para a localizacao de TEXTO /palavra .move cursor para inicio da linha corrente ^ .deleta a linha a partir da posição do cursor em diante rx .substitui o texto corrente pelo texto indicado (opcional indicar o texto adicionado) cw .procura pela palavra ou caracter acima ou abaixo do texto ?palavra .

desfaz a ultima modificação U .sai do editor. Pode-se inserir o texto logo após o comando u .desfaz todas as modificações J .salvar as mudanças feitas no arquivo e sai do editor :w .C .substitui restante da linha corrente.. Continua edição normalmente :wq! .substitui a primeira ocorrência de velho por novo Subcomandos para salvar o TEXTO :wq .une a linha corrente a próxima S:/velho/novo . :q! ..sai do editor sem salvar as mudanças realizadas. .salva (de modo forcado) o arquivo corrente no arquivo especificado :q . salva o arquivo corrente com o nome especificado. Se as mudanças não foram salvas é apresentada mensagem de advertência. Um abraço e até a próxima.