Tutorial sobre VI/VIM

Vim é um editor muito poderoso com uma grande quantidade de comandos. Esse curso rápido e prático leva no máximo 30 minutos. Você deve executar os comandos para apreender corretamente. Se você apenas ler o texto, pode esquecer os comandos.

1.1: Deslocamento do cursor

Para deslocar o cursor, pressione as teclas h,j,k,l como indicado.
^
k Dica: a tecla h está à esquerda e se move para a esquerda.
h l A tecla I está à direita e de move para a direita.
j A tecla j reúne em uma seta para baixo.
v

Nota: se você tiver dúvidas daquilo que você acabou de digitar, pressione Esc
para voltar para o modo Normal. Depois digite novamente o comando que você quiser.

Nota: as teclas com setas deverão igualmente funcionar/ Mas utilizando
hjkl você poderá mover-se muito mais rapidamente, com o tempo.

1.2: Entrada e saída VIM

1. Pressione a tecla Esc (para assegurar-se que está no modo normal).

2. Digite: :q! ENTRADA

> Isto fecha o editor SEM salvar as modificações realizadas.
Se você quer registrar as modificações e sair, digite:
:wq ENTRE

3. Quando o prompt do shell lhe será apresentado, digite o comando que
você o encontrou neste tutorial. Isto poderia ser: vimtutor Entre
Normalmente, você utilizaria: vim tutor Entrada

> Vim lança o editor, tutor é o arquivo que você deseja editar.

1.3: Edição de texto - Apagar

Em modo Normal, pressione x para apagar o caractere no cursor.

1.4: Edição de texto - Inserção

Em modo Normal, pressione i para inserir um texto.

Resumo da Lição 1

1. O cursor se move com as teclas com setas ou as teclas hjkl.
h (esquerda) j (baixo) k (alto) l (direita)

2. Para entrar no Vim (no prompt%) digite: vim ARQUIVO Entrada

3. Para fechar Vim digite: ESC :q! Entrada para perder todas as modificações.

Ou digite: ESC :wq ENTRE para registrar as modificações.

4. Para apagar um caractere no cursor em modo Normal digite: x

5. Para inserir texto ao nível do cursor em modo Normal digite:
i digite o texto Esc

NOTA: pressione Esc você se coloca em modo Normal ou anula o comando parcialmente digitado que você não quer mais.

2.1: Apagar

Digite dw para apagar até o final da palavra.

NOTA: As letras dw aparecerão sobre a última linha da tela quando você digita. Se você digitou mal alguma coisa, pressione <Esc> e recomece.

2.2: Mais apagar

Digite d$ para apagar até o final da linha.

2.3: Dos comandos e dos objetos

O formato do comando Apagar d é o seguinte:

[número] d objeto OU d [número] objeto
onde:
número - é quantas vezes executar o comando (opcional, padrão: 1).
d - é o comando de apagar.
objeto - é no que o comando vai operar (lista abaixo).

Uma curta lista de objetos:
w - do cursor até o final da palavra, incluindo o espaço que segue.
e - do cursor até o final da palavra , SEM o espaço que segue.
$ - do cursor até o final da linha.

NOTA: Para os aventureiros, o único apoio de objeto em modo Normal, sem comando, move o cursor como indicado na lista de objetos.

2.4: Uma exceção ao comando-objeto

Digite dd para apagar uma linha completa.

Visto o número de vezes onde foram apagadas as linhas completas, os criadores de
Vi decidiram que seria fácil digitar simplesmente dois d depois para apagar uma linha.

2.5: O anular

Digite u para anular os últimos comandos.
Digite U para recuperar toda a linha.
Digitar Ctrl + R para anular as anulações

Resumo da Lição 2

1. Para apagar do cursor até o final de uma palavra digite: dw

2. Para apagar do cursor até o final de uma linha digite: d$

3. Para apagar toda uma linha digite: dd

4. O formato de um comando em modo Normal é:

[número] comando objeto OU comando [número] objeto
onde:
número - é quantas vezes repetir o comando
comando - é o que é preciso fazer, por exemplo d para apagar.
objeto - é sobre o que o comando deveria agir, por exemplo w (palavra),
$ (até o final da linha), etc.

5. Parar anular ações precedentes, digite: u (u minúscula)
Para anular todas as modificações sobre uma linha digite: U (U maiúscula)
Para anular a anulação digite: Ctrl + R

3.1: A colagem

Digite p para colocar depois do cursor o que acaba de ser apagado.

1. Coloque o cursor sobre a primeira linha do poema abaixo.

2. Digite dd para apagar a linha e a colocar no tampão de t Vim.

3. Mova o cursor sobre a linha que PRECEDE o lugar onde você quer
Recolocar a linha apagada.

4. Em modo Normal, digite p para recolocar a linha.

3.2: A substituição

Digite r e um caractere para substituir no cursor.

3.3: A modificação

Para modificar tudo ou parte de uma palavra, digite cw

Note que cw apaga a palavra e lhe coloca em seguida em modo Inserção.

3.4: Mais modificações com C

A modificação funciona com os mesmos objetos que o apagar t.

1. A modificação funciona da mesma maneira que o apagar.
O formato é:

[número] c objeto OU c [número] objeto

2. Os objetos são igualmente os mesmos: w (palavra), $ (fim de linha), etc.

Resumo da Lição 3

1. Para recolocar texto que venha a ser apagado, digite p. Isto coloca o texto apagado DEPOIS do cursor (se uma linha completa foi apagada ela será colocada sob a linha do cursor).

2. Para substituir o caractere sob o cursor, digite r seguido do caractere
Que substituíra o original.

3.A modificação lhe permite trocar o objeto especificado, do cursor até o fim do objeto, por exemplo, digite cw para trocar de cursor
Até o fim da palavra, c$ para modificar até o final de uma linha.

4. O formato para a modificação é:

[número] c objeto OU c [número] objeto

4.1: Posição e estado do arquivo

Digite Ctrl + G para exibir sua posição no arquivo e seu estado.
Utilize Maj + G para acessar uma linha dada de um arquivo.

Note: leia esta lição antes de efetuar uma das etapas!

1. Mantenha pressionada a tecla Ctrl e pressione sobre G. Uma linha de estado
Vai aparecer abaixo da tela com o nome do arquivo e o número da
Linha onde você está . Anote este número, ele servirá na etapa 3.

2. Digite G maiúsculo (Maj-G) para acessar o final do arquivo.

3. Digite o número da linha onde quer que esteja seguido de Maj + G. isto lhe trará à linha onde você estava no inicio.
(Quando você digita os números, eles não aparecem na tela).

4.2: A busca

Digite / seguido de um texto para buscar este texto.

1. Digite o caractere / em modo Normal. Note que este e o cursor
Aparecem abaixo da tela, como quando se utiliza :
2. Depois digite erro ENTRE. É a palavra que você quer buscar.

3. Para buscar de novo o mesmo texto, digite simplesmente n .
Para buscar o mesmo texto na direção oposta, digite Maj + N.

4. Se você quer buscar um texto para o alto do arquivo
No lugar de /.

Note: Quando a busca atinge o final do arquivo, ela retoma o inicio.

4.3: Busca dos parêntesis correspondentes

Digite % para encontrar os ), ] ou } correspondentes.

Note: esta funcionalidade é muito útil no momento de debogagem de um programa que contém parênteses desequilibrados!

4.4: Uma maneira de corrigir os erros

Digite :s/antigo/novo/g para substituir 'antigo' por 'novo'.

:s/lee/le ENTRE.
Note que este comando troca somente a primeira ocorrência sobre a linha.

:s/lee/le/g, ordena fazer uma substituição global sobre a linha. Isto troca todas as ocorrências sobre a linha

Para trocar todas as ocorrências de um texto, entre duas linhas, digite :#,#s/antiga/nova/g onde #,# estão os números das duas linhas.
Digite :%s/ antiga/nova/g para trocar cada ocorrência em todo o arquivo.

Resumo da Lição 4

1. Ctrl + G exibe sua posição no arquivo e o estado dele.
Ctrl + G você coloca o fim do arquivo. Um número de linha seguido de Ctrl + G
Você se coloca nesta linha.

2. Digitar / seguido de um texto busca este texto para ADIANTE.
Digitar ? seguido de um texto busca este texto para ATRÁS.
Depois de uma busca digite n para encontrar a ocorrência seguinte na mesma direção ou
Ctrl + N para buscar na direção oposta.

3. Digitar % quando o cursor estiver sobre ( , ), [, ], { ou } move
este aqui sobre o caractere correspondente.

4. Para substituir o primeiro aa por bb sobre uma linha digite :s/aa/bb
Para substituir todos os aa por bb sobre uma linha digite :s/aa/bb/g
Para substituir texto entre dois números de linha digite :#,#s/aa/bb/g
Para substituir todas as ocorrências no arquivo digite :%s/aa/bb/g
Para solicitar uma confirmação à cada vez adicione 'c' :%s/aa/bb/gc

5.1: Como executar um comando externo

Digite :! Seguido de um comando externe para executar este comando.

1. Digite-o: familiar para colocar o cursor abaixo na tela. Isto lhe permite digitar um comando.

2. Depois digite um! (ponto de exclamação). Isto lhe permite executar qualquer comando para seu interpretador (shell).

3. Por exemplo, digite ls depois de! E pressione ENTRE. Isto exibirá
A lista dos arquivos da pasta corrente, como se você tivesse digitado o
comando no prompt do shell. Utilize:!dir se: !ls não funciona.

Nota: é possível executar qualquer comando externo desta maneira.

Nota: Todos os comandos : devem acabar pela tecla ENTRE.

5.2: Mais detalhes sobre o registro dos arquivos

Para registrar as modificações feitas no arquivo, digite :w ARQUIVO.

1. Digite :!dir ou :!ls para ter a lista dos arquivos da pasta corrente. Você já sabe que é preciso pressionar ENTRE depois disto.

2. Escolha um nome de arquivo que não exista ainda, por exemplo TEST.

3. depois digite :w TEST (onde TEST é o nome que você escolheu

4. Isto salva todo o arquivo (Tutorial Vim) sob o nome TEST.
Para o verificar, digite :!dir para visualizar o conteúdo da pasta.

Note que se você fechar Vil e voltar com o arquivo TEST,
será uma cópia exata do curso no momento em que você o salvou.

5. Agora apague o arquivo digitando (MS-DOS): :!del TEST
ou (Unix): :!rm TEST

5.3: Um registro seletivo

Para registrar uma porção de arquivo, digite: #,#w ARQUIVO

Para registrar SOMENTE uma porção de um arquivo, digite #,#w TEST
Onde #,# são os dois números que você anotou e TEST o nome do arquivo.

5.4: Recuperação e fusão de arquivos

Para inserir o conteúdo de um arquivo, digite: r ARQUIVO

O arquivo que você recupera é colocado lá onde se encontra o cursor.

Resumo da Lição 5

1. :!comando executa um comando externo.

Alguns exemplos práticos :
(MS-DOS) (Unix)
:!dir :!ls exibe o conteúdo da pasta corrente.
:!del ARQUIVO :!rm ARQUIVO apaga ARQUIVO.

2. :w ARQUIVO registra o arquivo Vim corrente sobre a disco com o nome
ARQUIVO.

3. :#,#w ARQUIVO registra as linhas # à # no arquivo ARQUIVO.

4. :r ARQUIVO recupera o arquivo ARQUIVO e o insere no arquivo
Corrente a partir da posição do cursor.

6.1: A abertura

Digite o para abrir uma linha sob o cursor e ira li em Inserção.

Abra uma linha aqui acima digitando Maj + O quando o cursor estiver aqui.

6.2: A adição

Digite a para inserir texto DEPOIS do cursor.

Digite um A (minúsculo) para adicionar texto DEPOIS do caractere situado sob o cursor.
( A maiúscula adiciona texto no final da linha).

6.3 : Outra versão da substituição

Digite uM R maiúsculo para substituir mais de um caractere.

6.4: Configurar as opções

Configuremos uma opção para que a busca e a substituição ignorem a quebra dos
caracteres.

1. Busque 'ignore' digitando /ignore .
Repita isto diversas vezes ao utilizar a tecla n.

2. Ative a opção 'ic' (Ignorar quebra) ao digitar: set ic.

3. Depois para seguir sua busca ao utilizar n .
Repita esta busca várias vezes com a tecla n .

4. Ative as opções hlsearch e incsearch com :set hls is.

5. depois recomece uma busca, e faça muita cuidado para que se produza:
/ignore.

6. Para interromper o negrito dos resultados, digite:
:nohlsearch

Resumo da Lição 6

1. Digitar o abre uma linha SOB o cursor e ali coloca este e modo Inserção.
Digitar um O maiúsculo abre uma linha ACIMA da linha onde se encontra cursor.

2. Digite um a para inserir texto DEPOIS do caractere onde se encontra o cursor. Digitar um A maiúsculo automaticamente no final da linha.

3. Digitar um R maiúsculo ativa o modo SUBSTITUIÇÃO até que a tecla
<Esc> seja pressionada para sair dali.

4. Digitar :set xxx ativa a opção xxx.

7: Acessar com a ajuda em linha

Utilizar o sistema de ajuda em linha:

Vim tem um sistema completo de ajuda em linha. Para acessar, tente um destes três métodos:
- pressione a tecla Help (se você tiver uma)
- pressione a tecla F1 (se você tiver uma)
- digite :help Entre

Digite :q Entre para fechar a janela de ajuda.

Você pode acessar com a ajuda sobre qualquer sujeito dando argumentos ao comando:
:help . Tente por exemplo (não se esqueça de pressionar
Entre):

:help w
:help c_<T
:help insert-index
:help user-manual

8: Criar um script de inicialização

Ativar as funcionalidades de Vim.

Vim tem muitas funcionalidades que VI, mas a maioria delas estão desativadas por padrão. Para começar as utilizar, você deve criar um arquivo "vimrc".

1. Comece por editar o arquivo vimrc. Isto depende de seu sistema:
:edit ~/.vimrc para Unix
:edit $VIM/_vimrc para MS-Windows

2. Integre agora o texto do arquivo vimrc de exemplo:
:read $VIMRUNTIME/vimrc_example.vim

3. Registre o arquivo com:
:write

Na próxima vez que você reinicializar Vim, os negritos sintáticos serão ativados. Você pode adicionar todas as suas configurações preferidas neste arquivo.

Foto: © Vim.

Nosso conteúdo é produzido em colaboração com especialistas em tecnologia da informação sob o comando de Jean-François Pillou, fundador do CCM.net. CCM é um site sobre tecnologia líder em nível internacional e está disponível em 11 idiomas.
Este documento, intitulado 'Tutorial sobre VI/VIM', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.

Assine nossa newsletter!

Assine nossa newsletter!
Junte-se à comunidade