===============================================================================
=      B e m   V i n d o   a o   V I M   T u t o r   -   Versão 1.7 pt_BR     =
===============================================================================

     Vim é um poderoso editor que possui muitos comandos, tantos que seria
     impossível ensinar num tutorial como este. Este tutorial é planejado para
     apresentar os comandos suficientes para você ficar habilitado a usar
     facilmente o Vim como um editor de textos genérico.

     O tempo aproximado requerido para completar o tutorial é de 25-30 minutos,
     dependendo de quanto tempo é gasto praticando os comandos.

     ATENÇÃO:
     Os comandos nas lições vão modificar o texto. Utilize uma cópia deste
     arquivo para praticar os comandos (se você iniciou o "vimtutor", esta já
     é uma cópia).

     É importante lembrar que este tutorial é planejado para ensinar através da
     prática. Isso significa que você precisa executar os comandos para 
     aprendê-los adequadamente. Se você somente ler o texto, esquecerá os
     comandos!

     Agora, certifique-se de que sua tecla Shift-Lock (ou Caps Lock) não esteja
     ativada e pressione a tecla  j  o bastante para mover o cursor até que a
     Lição 1.1 esteja completamente na tela.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			 Lição 1.1:  MOVENDO O CURSOR


  ** Para mover o cursor, pressione as teclas h,j,k,l conforme indicado. **
             ^
             k          Dica: A tecla h está à esquerda e move para a esquerda.
       < h       l >          A tecla l está à direita e move para a direita.
             j                A tecla j se parece com uma seta para baixo.
             v
  1. Mova o cursor pela tela até que você se sinta confortável.

  2. Segure pressionada a tecla (j) até haver repetição.
     Agora você já sabe como ir para a próxima lição.

  3. Usando a tecla j, mova até a lição 1.2.

NOTA: Se você está inseguro sobre o que digitou, pressione <ESC> para 
      colocá-lo no modo Normal. Então redigite o comando que você queria.

NOTA: As teclas de cursor devem funcionar também. Mas usando hjkl, tão logo
      esteja acostumado, você poderá se mover muito mais rapidamente.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			   Lição 1.2: SAINDO DO VIM


 !! NOTA: Antes de executar qualquer dos passos abaixo, leia a lição inteira !!

  1. Pressione <ESC> (para ter certeza de que está no modo Normal).

  2. Digite    :q! <ENTER>.
     Isso sai do editor SEM salvar qualquer mudança que tenha sido feita.
     Se quiser salvar as alterações e sair, digite     :wq <ENTER>

  3. Repita o procedimento que lhe trouxe a este tutorial. O procedimento pode
     ter sido a digitação de:  vimtutor <ENTER>.

  4. Se você memorizou estes passos e está confiante, execute os passos de
     1 a 3 para sair e reentrar no editor.

NOTA:  :q! <ENTER>  descarta qualquer mudança. Em uma próxima lição será
       ensinado como salvar as mudanças feitas em um arquivo.

  5. Desça o cursor até a Lição 1.3.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		     Lição 1.3: EDITANDO TEXTOS - DELEÇÃO

  ** No modo Normal, pressione  x  para deletar o caractere sob o cursor. **


  1. Mova o cursor para a linha abaixo marcada com --->.

  2. Para corrigir os erros, mova o cursor até que ele esteja sobre o 
     caractere a ser deletado.

  3. Pressione a tecla  x  para deletar o caractere indesejado.

  4. Repita os passos 2 até 4 até que a sentença esteja correta.

---> A vvaca pullouu por ccimaa dda luuua.

  5. Agora que a sentença está correta, vá para a Lição 1.4.

NOTA: Enquanto segue este tutorial, não tente memorizar, aprenda pelo uso.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		    Lição 1.4: EDITANDO TEXTOS - INSERÇÃO

		   ** Pressione  i  para inserir texto. **


  1. Mova o cursor até a primeira linha abaixo marcada com --->.

  2. Para fazer a primeira linha ficar igual à segunda, mova o cursor para
     o primeiro caractere DEPOIS de onde o texto deverá ser inserido.

  3. Pressione  i  e digite as adições necessárias.

  4. Assim que cada erro for corrigido pressione <ESC> para retornar ao modo
     Normal. Repita os passos 2 até 4 para corrigir a sentença.

---> Tem text fatado desta .
---> Tem algum texto faltando desta linha.

  5. Quando se sentir confortável com a inserção de texto, mova o cursor para
     a lição 1.5.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		   Lição 1.5: EDITANDO TEXTO - ADICIONANDO

		  ** Pressione  A  para adicionar texto. **

  1. Mova o curso para a primeira linha abaixo marcada com --->.
     Não importa sobre qual caractere o cursor estará na linha.

  2. Pressione  A  e digite as adições necessárias.

  3. Quando adicionar o texto, pressione <ESC> para retornar ao modo Normal.

  4. Mova o cursor para a segunda linha marcada ---> e repita os passos 2 e 3
     para corrigir o texto.

---> Há algum texto faltando des
     Há algum texto faltando desta linha.
     Há algum texto faltan
---> Há algum texto faltando aqui.

  5. Quando se sentir confortável adicionando texto, mova para a lição 1.6.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			Lição 1.6: EDITANDO UM ARQUIVO
		** Use  :wq  para salvar um arquivo e sair. **

	  !! NOTA: Antes de executar qualquer um dos passos abaixo,
		       leia esta lição completamente!!

  1. Saia deste tutorial como o fez na lição 1.2:  :q!
     Ou, se tiver acesso a outro terminal, faça o seguinte nele.

  2. No prompt do shell, digite esse comando:  vim tutor <ENTER>
     'vim' is é comando para iniciar o editor Vim e 'tutor' é o nome do
     arquivo que você deseja editar.  Use um arquivo que possa ser modificado.

  3. Insira e delete texto tal como aprendeu com as lições anteriores.

  4. Salve o arquivo com as mudanças e saia do Vim com:  :wq <ENTER>

  5. Se você tiver saído do vimtutor no passo 1, reinicie o vimtutor e vá para
     o sumário seguinte.

  6. Após ler os passos acima e compreendê-los, execute-os.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			      SUMÁRIO DA LIÇÃO 1

  1. O cursor é movido usando tanto as teclas de seta quanto as teclas hjkl.
	h (esquerda)	j (para baixo)	k (para cima)	l (direita)

  2. Para entrar no Vim a partir de um shell digite: vim NOMEDOARQUIVO <ENTER>

  3. Para sair do Vim digite:  <ESC> :q! <ENTER> para descartar as alterações.
                   OU digite:  <ESC> :wq <ENTER> para salvar as alterações.

  4. Para deletar um caractere sob o cursor no modo Normal digite:  x

  5. Para inserir texto na posição do cursor enquanto estiver no modo Normal
     digite:
             i     digite o texto <ESC>   inserir depois do cursor
	     A     digite o texto <ESC>   adicionar no final da linha

NOTA: Pressionando <ESC> você irá para o modo Normal ou cancelará um comando
      ainda incompleto.

Agora continue com a Lição 2.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			Lição 2.1: COMANDOS DE DELEÇÃO

	  ** Digite  dw  para deletar até o final de uma palavra. **


  1. Pressione  <ESC>  para ter certeza de que está no modo Normal.

  2. Mova o cursor até a linha abaixo marcada com --->.

  3. Mova o cursor até o começo da palavra que precisa ser deletada.

  4. Digite  dw  para fazer a palavra desaparecer.

  NOTA: A letra  d  vai aparece na última linha da tela enquanto você a
	digita. O Vim está lhe esperando digitar um  w . Se você digitou
	alguma coisa errada, pressione <ESC> e comece de novo.

---> Tem a algumas oi palavras diversão que não pertencem papel a esta sentença.

  5. Repita os passos 3 ao 4 até que a sentença esteja correta e vá para a
     Lição 2.2.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     Lição 2.2: MAIS COMANDOS DE DELEÇÃO

          ** Digite  d$  para deletar até o final da linha. **



  1. Pressione <ESC> para ter certeza de estar no modo Normal.

  2. Mova o cursor até a linha abaixo marcada com --->.

  3. Mova o cursor até o fim da linha correta (DEPOIS do primeiro  .).

  4. Digite  d$  para deletar até o final da linha.

---> Alguém digitou o final desta linha duas vezes. desta linha duas vezes.

  5. Vá para a lição 2.3 para entender o que está acontecendo.





~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		   Lição 2.3: SOBRE OPERADORES E MOVIMENTOS 

  Muitos comandos que mudam texto são feitos de um operador e um movimento.
  O formato para um comando deletar com o operador de deleção  d  tem a
  seguinte forma:

         d   movimento
  Onde:
    d - é o operador deletar.
    movimento - é como o operador vai operar (listado abaixo).

  Uma pequena lista de teclas de movimento:
    w - do cursor até o fim da palavra, incluindo o espaço.
    e - do cursor até o fim da palavra, NÃO incluindo o espaço.
    $ - do cursor até o fim da linha.

  Portanto, digitando  de  irá deletar do cursor ao fim da palavra.

NOTA: Pressionando apenas a tecla de movimento enquanto em modo Normal, sem o
operador, irá mover o cursor como especificado na lista de teclas de
movimento.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	       Lição 2.4: USANDO UM CONTADOR PARA UM MOVIMENTO

    ** Digitando um número antes de um movimento repete-o muitas vezes. **


   1. Mova o cursor para o começo da linha marcada com ---> abaixo.

   2. Digite  2w  para mover o cursor duas palavras adiante.

   3. Digite  3e  para mover o cursor para o fim da terceira palavra adiante.

   4. Digite  0  (zero) para mover para o início da linha.

   5. Repita os passos 2 e 3 com diferentes números.

---> Esta é uma linha com algumas palavras para lhe permitir fazer movimentos.

   6. Vá para a Lição 2.5.




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	       Lição 2.5: USANDO UM CONTADOR PARA DELETAR MAIS

   ** Digitando um número com um operador repete-o esse número de vezes. **


   Você deve inserir um contador entre o operador de deleção e o movimento
   mencionados acima para para deletar mais:
       d   número   movimento

   1. Movimente o cursor para a primeira palavra com LETRAS MAIÚSCULAS na
      linha marcada com --->.

   2. Digite  d2w  para deletar as duas palavras com LETRAS MAIÚSCULAS.

   3. Repita os passos 1 e 2 com diferentes contadores para deletar as
      palavras de LETRAS MAIÚSCULAS com um comando.

--->  esta ABC DE linha FGHI JK LMN OP de palavras está Q RS TUV limpa.




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		       Lição 2.6: OPERANDO SOBRE LINHAS

	      ** Digite  dd  para deletar uma linha inteira. **

  Em virtude da frequência em deletar uma linha inteira, os projetistas do Vi
  decidiram que seria mais simples digitar dois d's numa linha para deletá-la.

  1. Mova o cursor até a segunda linha na lista a baixo.
  2. Digite  dd  para deletar a linha.
  3. Agora mova até a quarta linha.
  4. Digite  2dd  para deletar duas linhas.

--->  1)  Rosas são vermelhas,
--->  2)  Lama é divertida,
--->  3)  Violetas são azuis,
--->  4)  Eu tenho um carro,
--->  5)  Relógios dizem as horas,
--->  6)  Açúcar é doce,
--->  7)  E assim é você.

Notas do tradutor: Lama (mud) em inglês pode significar fofoca, difamação.
                   Há rima no texto original.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		     Lição 2.7: O COMANDO UNDO (DESFAZER)

** Pressione u para desfazer os últimos comandos, U restaura linha inteira.**


  1. Mova o cursor para a linha abaixo marcada com ---> e posicione-o sobre o
     primeiro erro.
  2. Digite  x  para deletar o primeiro caractere indesejado.
  3. Agora, digite  u  para desfazer o último comando executado.
  4. Desta vez, corrija todos os erros na linha usando o comando  x .
  5. Agora, digite um U maiúsculo para retornar a linha ao seu estado original.
  6. Digite  u  algumas vezes para desfazer o  U  e os comandos anteriores.
  7. Digite CTRL-R (segurando a tecla CTRL enquanto digita R) algumas vezes
     para refazer os comandos (desfazer os undo's).

---> Corriija os erros nnesta linha e reetorne-os com undo.

  8. Esses comandos são muito úteis. Agora vá para o sumário da Lição 2.




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			      SUMÁRIO DA LIÇÃO 2


  1. Para deletar do cursor até o fim de uma palavra digite:   dw
  2. Para deletar do cursor até o fim de uma linha digite:   d$
  3. Para deletar uma linha inteira digite:   dd
  4. Para repetir um movimento adicione antes um número:   2w
  5. O formato para um comando no modo Normal é:
           operador   [número]   movimento
   onde:
      operador  - é o que será feito, como  d  para deletar
      número    - é quantas vezes o comando será repetido
      movimento - movimento sobre o texto que sofrerá a operação, como
                  w (palavra), $ (até o final da linha), etc.

  5. Para desfazer um ação anterior, digite:                  u  (minúsculo)
     Para desfazer todas as modificações em uma linha digite: U (maiúsculo)
     Para desfazer o que foi desfeito digite:                 CTRL-R




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			Lição 3.1: O COMANDO PUT (PÔR)

	** Digite  p  para colocar a última deleção após o cursor. **


  1. Mova o cursor até a primeira linha na lista abaixo.

  2. Digite  dd  para deletar a linha e guardá-la no buffer do Vim.

  3. Mova o cursor até a linha ACIMA de onde a linha deletada deve ficar.

  4. No modo Normal, digite  p  para inserir a linha.

  5. Repita os passos 2 ao 4 para pôr todas as linhas na ordem correta.

     d) Você pode aprender também?
     b) Violetas são azuis,
     c) Inteligência se aprende,
     a) Rosas são vermelhas,

Nota do tradutor: Há rima no original.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		  Lição 3.2: O COMANDO REPLACE (SUBSTITUIR)

     ** Digite  rx  para substituir o caractere sob o cursor por  x . ** 


  1. Mova o cursor até a primeira linha abaixo marcada com --->.

  2. Mova o cursor até que ele esteja sobre o primeiro erro.

  3. Digite  r  e então o caractere que deveria estar lá.

  4. Repita os passos 2 e 3 até que a primeira linha esteja correta.

---> Quendo este limha foi dugitada, alguem pressioniu algumas teclas erradzs!
---> Quando esta linha foi digitada, alguém pressionou algumas teclas erradas!

  5. Agora vá para a Lição 3.3.

NOTA: Lembre-se que você deve aprender pelo uso, não pela memorização.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		     Lição 3.3: O OPERADOR CHANGE (MUDAR)

	** Para mudar toda uma palavra ou parte dela, digite  cw . **


  1. Mova o cursor até a primeira linha abaixo marcada com --->.
  
  2. Posicione o cursor sobre o u em lunba.

  3. Digite  cw  e a palavra correta (nesse caso, digite 'inha'.)

  4. Pressione <ESC> e mova para o próximo caractere a ser alterado.

  5. Repita os passos 3 e 4 até que a primeira sentença esteja igual à segunda.

---> Essa lunba tem pwlesmfr que ocrimmm  soi alteradas cup o comando change.
---> Essa linha tem palavras que precisam ser alteradas com o comando change. 

Note que  cw  não somente substitui a palavra, mas também lhe coloca no modo
de inserção.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		      Lição 3.4: MAIS MUDANÇAS USANDO c

      ** O operador change é usado com os mesmos objetos que delete. **

  1. O operador change trabalha da mesma maneira que o delete. O formato é:

          c    [número]    movimento

  2. Os movimentos também são os mesmos: w (palavra), $ (fim da linha), etc.

  3. Mova até a primeira linha abaixo marcada com --->.

  4. Mova o cursor até o primeiro erro.

  5. Digite  c$  para fazer o resto da linha ficar igual à segunda e pressione
     <ESC>.

---> O fim desta linha precisa de ajuda para ficar igual à segunda.
---> O fim desta linha precisa ser corrigido usando o comando  c$.

NOTA: Você pode usar a tecla Backspace para corrigir erros enquanto digita.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			      SUMÁRIO DA LIÇÃO 3


  1. Para inserir um texto que já foi deletado, digite  p . Isso coloca o texto
     deletado APÓS o cursor (se uma linha é deletada ela será inserida na linha
     abaixo do cursor).

  2. Para substituir o caractere sob o cursor, digite  r  e então o caractere
     que irá substituir o original.

  3. O comando change possibilita mudar do cursor até onde o movimento for.
     Ex: Digite  cw  para mudar do cursor até o fim de uma palavra, c$ para
     mudar até o fim da linha.

  4. O formato para uma operação change é:

         c   [número]   movimento

Agora vá para a próxima lição.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	     Lição 4.1: LOCALIZAÇÃO DO CURSOR E STATUS DO ARQUIVO

    ** Digite CTRL-G para mostrar sua localização no arquivo e seu status.
       Digite  G  para mover para uma linha do arquivo.  **

  Nota: Leia esta lição inteira antes de executar qualquer um dos passos!!

  1. Segure pressionada a tecla Ctrl e pressione  g . Nós chamamos isso de
     CTRL-G. Uma mensagem aparecerá no rodapé da página com o nome do arquivo
     e a sua posição no arquivo. Lembre-se do número da linha para o Passo 3.

NOTA:  A posição do cursor pode estar visível no canto direito inferior da
       tela. Isso acontece quando a opção 'ruler' está ativa
       (veja  :help 'ruler' ).

  2. Pressione  G  para mover para o final do arquivo.
     Digite  gg  para mover para o início do arquivo.

  3. Digite o número da linha em que você estava e então G . Isto
     retornará o cursor à linha em que você estava quando pressionou CTRL-G.

  4. Se você estiver confiante para fazer isto, execute os passos 1 ao 3.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                       Lição 4.2: O COMANDO SEARCH (PROCURA)

      ** Digite  /  seguido por uma string para procurar pela string. **

  1. No modo Normal digite o caractere  / . Note que ele e o cursor aparecem
     no rodapé da tela, como ocorre com o comando  : .

  2. Agora digite 'errroo' <ENTER>. Esta é a palavra que você quer procurar.

  3. Para procurar pela mesma palavra de novo, simplesmente tecle  n .
     Para procurar pela mesma palavra na direção oposta, tecle  N .

  4. Se você quer procurar por uma string no sentido de frente para trás, use
     ?  em vez de  / .

  5. Para voltar para onde estava, pressione CTRL-O (mantenha a tecla Ctrl
     pressionada e pressione a tecla o). Repita para voltar outras posições.
     CTRL-I segue para posições mais recentes.

--->  "errroo" não é uma maneira de escrever erro;  errroo é um erro.
NOTA: Quando a busca atinge o final do arquivo ela continuará do começo, a
      menos que a opção 'wrapscan' esteja desativada.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		Lição 4.3: PROCURA POR CASAMENTO DE PARÊNTESES

	   ** Digite  %  para achar um casamento de ),], ou } . **


  1. Posicione o cursor em qualquer (, [, ou { na linha abaixo marcada com --->.
  
  2. Agora digite o caractere  % .
  
  3. O cursor deve estar no parênteses ou colchetes que casa com o primeiro.

  4. Digite  %  para mover o cursor de volta ao primeiro colchete ou parênteses
     (por casamento).

---> Isto ( é uma linha de teste contendo ('s, ['s ] e {'s }. ))

Nota: Isso é muito útil para corrigir um programa com parênteses não-casados!





~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		       Lição 4.4: O COMANDO SUBSTITUIR

      ** Digite  :s/velho/novo/g  para substituir 'velho' por 'novo'. **


  1. Mova o cursor para a linha abaixo marcada com --->.

  2. Digite  :s/aa/a <ENTER> . Note que este comando somente muda a 
     primeira ocorrência na linha.

  3. Agora digite  :s/aa/a/g   significando substituir globalmente na linha.
     Isto muda todas as ocorrências na linha.

---> aa melhor época para ver aas flores é aa primavera. 

  4. Para mudar toda ocorrência de uma string entre duas linhas,
     digite  :#,#s/velho/novo/g   onde #,# são os números das duas linhas.
     Digite  :%s/velho/novo/g     para mudar todas as ocorrências no arquivo
                                  inteiro.
     Digite  :%s/velho/novo/gc    para mudar todas as ocorrência no arquivo
                                  inteiro, com a opção de confirmar cada
				  substituição.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                              SUMÁRIO DA LIÇÃO 4
  1.    CTRL-G  mostra a sua localização no arquivo e o status do mesmo.
             G  move para o final do arquivo.
     número  G  move para esta linha com esse número.
            gg  move para a primeira linha.

  2. Digitando  /  seguido por uma expressão procura À FRENTE por ela.
     Digitando  ?  seguido por uma expressão procura pela expressão de TRÁS
     PARA FRENTE.
     Após uma busca, digite n para achar a próxima ocorrência na mesma direção
     ou N para procurar na direção oposta.
     CTRL-O leva a posições antigas e CTRL-I a posições mais recentes.

  3. Digitando  %  enquanto o cursor está sobre um (,),[,],{, ou } localiza
     o par que casa com ele.

  4. Para substituir:
       o primeiro 'velho' de uma linha por 'novo' digite   :s/velho/novo
       todos os 'velho's em uma linha por 'novo' digite    :s/velho/novo/g
       expressões entre dois números (#) de linhas digite  :#,#s/velho/novo
       todas as ocorrências no arquivo digite              :%s/velho/novo/g
     Para confirmar cada substituição adicione 'c'         :%s/velho/novo/gc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		 Lição 5.1: COMO EXECUTAR UM COMANDO EXTERNO


 ** Digite  :!  seguido por um comando externo para executar esse comando. **

  1. Digite o familiar comando  :  para levar o cursor ao rodapé da tela. Isso
     lhe permite entrar um comando.

  2. Agora digite o caractere  !  (ponto de exclamação). Isso lhe permite
     executar qualquer comando do shell.

  3. Como um exemplo digite  ls  seguindo o  !  e então tecle <ENTER>. Isto
     irá mostrar uma listagem do seu diretório, como se você estivesse no
     prompt do shell. Ou use  :!dir se ls não funcionar.

NOTA:  É possível executar qualquer comando externo dessa maneira, inclusive
       com argumentos.

NOTA:  Todos os comandos  :  devem ser finalizados teclando-se <ENTER>
       Daqui em diante não iremos mencionar isso sempre.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		    Lição 5.2: MAIS SOBRE SALVAR ARQUIVOS

     ** Para salvar as alterações no texto, digite  :w NOMEDOARQUIVO. **


  1. Digite  :!dir  ou  :!ls para ter uma listagem de seu diretório.
     Você já deve saber que precisa teclar <ENTER> depois disso.

  2. Escolha um nome de arquivo que ainda não exista, como TESTE.

  3. Agora digite:   :w TESTE  (onde TESTE é o nome que você escolheu.)

  4. Isto salva o arquivo inteiro  (o Vim Tutor) com o nome TESTE.
     Para verificar isso, digite  :!ls de novo para ver seu diretório

NOTA: Se você sair do Vim e entrar de novo com o nome do arquivo TESTE,
      o arquivo deve ser uma cópia exata do tutor quando você o salvou.

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


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		 Lição 5.3: SELECIONANDO O TEXTO A SER SALVO

  ** Para salvar parte de um arquivo, digite  v  movimento NOMEDOARQUIVO **

  1. Mova o cursor para esta linha.

  2. Pressione  v  e mova o cursor para o quinto item abaixo. Note que o texto
     é realçado.

  3. Pressione o caractere  :  e note que aparecerá  :'<,'>  no lado inferior
     da tela.

  4. Digite  w TESTE , sendo TESTE um nome de arquivo que não existe ainda.
     Você deverá ver  :'<,'>w TESTE  antes de pressionar <ENTER>.

  5. O Vim salvará as linhas selecionadas no arquivo TESTE. Use  :!dir  ou
     !:ls para vê-lo. Não o apague agora! Nós o usaremos na próxima lição.

NOTA:  Pressionando  v  inicia o modo Visual de seleção.  Você pode mover o
cursor pela tela para tornar a seleção maior ou menor. Pode, então, usar um
operador para executar alguma ação. Por exemplo,  d  deleta o texto.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		  Lição 5.4: RECUPERANDO E JUNTANDO ARQUIVOS

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


  1. Posicione o cursor logo acima desta linha.

NOTA:  Depois de executar o Passo 2 você verá a lição 5.3. Então DESÇA o
       cursor para ver esta lição novamente.

  2. Agora recupere o arquivo TESTE usando o comando  :r TESTE  onde TESTE é o
     nome do arquivo.
     O arquivo recuperado é colocado abaixo da linha atual do cursor.

  3. Para verificar que o arquivo foi recuperado, volte com o cursor e verifique
     que agora existem duas cópias da Lição 5.3, a original e a versão do 
     arquivo.

NOTA: Você também pode ler a saída de um comando externo. Por exemplo,  :r !ls
      lê a saída do comando ls e coloca o resultado abaixo do cursor.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			      SUMÁRIO DA LIÇÃO 5 


  1.  :!comando  executa um comando externo.

      Alguns exemplos úteis são:
         (MS-DOS)         (UNIX)
	  :!dir            :!ls          -  lista conteúdo do diretório.
          :!del ARQUIVO    :!rm ARQUIVO  -  remove ARQUIVO.

  2. :w ARQUIVO  salva o atual arquivo do Vim para o disco com o nome ARQUIVO.

  3. v  movimento  :w ARQUIVO  salva as linhas Visualmente selecionadas em
     ARQUIVO.

  4. :r ARQUIVO  recupera ARQUIVO do disco e o insere dentro do arquivo atual
     na posição do cursor.

  5. :r !dir  lê a saída do comando dir e coloca o resultado abaixo da posição
     atual do cursor.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        Lição 6.1: O COMANDO OPEN (ABRIR)

   ** Digite  o  para abrir uma linha embaixo do cursor e ir para o modo de
      Inserção (INSERT). **

  1. Mova o cursor para a linha abaixo marcada com --->.

  2. Digite  o (minúsculo) para abrir uma linha ABAIXO do cursor e ir para o
     modo de Inserção (INSERT).

  3. Agora digite algum texto e pressione <ESC> para sair do modo de
     Inserção.

---> Após teclar  o  o cursor é colocado na linha aberta no modo de Inserção.

  4. Para abrir uma linha ACIMA do cursor, simplesmente tecle um  O  maiúsculo,
     em vez de um  o  minúsculo. Tente isso na linha abaixo.

---> Abra uma linha acima desta teclando O enquanto o cursor está nesta linha.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			 Lição 6.2: O COMANDO APPEND

	    ** Digite  a  para inserir texto DEPOIS do cursor. **

  1. Mova o cursor para o início da linha marcada com ---> .

  2. Pressione  e  até o cursor ficar sobre o final de li .

  3. Digite um  a  (minúsculo) para adicionar texto DEPOIS do caractere sob o
     cursor.

  4. Complete a palavra conforme a linha abaixo. Pressione <ESC> para sair do
     modo de Inserção.

  5. Use  e  para mover para a próxima palavra incompleta  repita os passos 3
     e 4.

---> Esta lin lhe permite pratic a adiç de texto a uma linha.
---> Esta linha lhe permite praticar a adição de texto a uma linha.

NOTA: a, i e A levam ao mesmo modo de Inserção, a única diferença é onde os
      caracteres são inseridos.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	     Lição 6.3: UMA OUTRA VERSÃO DO REPLACE (SUBSTITUIR)

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


  1. Mova o cursor para a primeira linha abaixo marcada com --->. Mova o
     cursor para o início do primeiro  xxx .
  
  2. Agora pressione  R  e digite os números que estão abaixo dele, na segunda
     linha, para substituir o  xxx .

  3. Pressione <ESC> para sair do modo de Substituição. Note que o resto da
     linha permanece inalterada.

  4. Repita os passos para substituir os  xxx  restantes.

--->  Adicionando 123 a xxx resulta em xxx.
--->  Adicionando 123 a 456 resulta em 579.

NOTA:  O modo de Substituição é como o modo de Inserção, mas cada caractere
       digitado deleta um caractere existente.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		       Lição 6.4: COPIAR E COLAR TEXTO

	** Use o operador  y  para copiar texto e  p  para colá-lo. **

   1. Vá para a linha marcada com ---> abaixo e posicione o cursor após "a)".

   2. Inicie o modo Visual com  v  e mova o cursor para logo antes de
      "primeiro".

   3. Digite  y  para copiar o texto selecionado.

   4. Mova o cursor para o final da próxima linha:  j$

   5. Digite  p  par pôr (colar) o texto. Então, digite:  o segundo <ESC> .

   6. Use o modo Visual para selecionar  " item.", copie-o com  y , mova para
      o fina da próxima linha com  j$  e ponha (cole) o texto com  p .

--->  a) esse é o primeiro item.
      b)
NOTA:  Você também pode usar  y  como um operador; por exemplo, yw copia uma
       palavra.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		      Lição 6.5: CONFIGURAR PREFERÊNCIAS

      ** Configurar uma preferência de modo que um search ou substitute
	 ignora se as letras estão em maiúsculas ou minúsculas. **

  1. Procure por 'ignore' entrando:  /ignore <ENTER>
     Repita várias vezes teclando  n .
  2. Configure a opção 'ic' (Ignore case) digitando:
     :set ic
  3. Agora procure por 'ignore' de novo teclando: n
     Repita várias vezes.
  4. Configure as opções 'hlsearch' e 'incsearch':
     :set hls is
  5. Agora entre com o comando search de novo, e veja o que acontece:
     /ignore
  6. Para desabilitar a desconsideração de maiúsculas e minúsculas:
     :set noic

NOTA:  Para remover o realce dos termos localizados entre:  :nohlsearch
NOTA:  Se quiser ignorar a diferença entre maiúsculas e minúsculas em apenas
       uma pesquisa, use  \c  no comando:  /ignore\c <ENTER>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			      SUMÁRIO DA LIÇÃO 6

  1. Digite  o  para abrir uma linha ABAIXO do cursor e iniciar o modo de
     Inserção.
     Digite  O  para abrir uma linha ACIMA da linha onde o cursor está.

  2. Digite  a  para adicionar texto DEPOIS do caractere onde está o cursor.
     Digite  A  para adicionar texto ao final da linha.

  3. O comando  e  move o cursor para o final de uma palavra.

  4. O operador  y  copia texto,  p  põe (cola) o texto copiado.

  5. Digitando  R  entra-se no modo de Substituição até que <ESC> seja
     pressionado.

  6. Digitando  ":set xxx" modifica-se a opção "xxx". Algumas opções são:
         'ic' 'ignorecase'     ignora diferença entre maiúsculas/minúsculas
	 'is' 'incsearch'      realiza a busca enquanto se digita
	 'hls' 'hlsearch'      realça todos os trechos localizados
     Você tanto pode usar o nome curto quanto o nome longo da opção.
  7. Adicione o prefixo "no" para desabilitar uma opção:  :set noic
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			   LIÇÃO 7.1: OBTENDO AJUDA

		 ** Usar o sistema de ajuda do próprio Vim **

  O Vim possui sistema de ajuda abrangente. Para começar, tente algum
  desses três:
        - pressione a tecla <HELP> (se você tiver uma)
        - pressione a tecla <F1>   (se você tiver uma)
        - digite      :help <ENTER>

  Leia o texto da ajuda para aprender como o sistema de ajuda funciona.
  Digite  CTRL-W CTRL-W  para pular de uma janela para outra.
  Digite  :q <ENTER> para fechar a janela da ajuda.

  Você pode achar ajuda sobre qualquer assunto, fornecendo um argumento para
  o comando ":help". Tente isto (não esqueça de pressionar <ENTER>):

       :help w
       :help c_CTRL-D
       :help insert-index
       :help user-manual

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		 Lição 7.2: CRIAR UM SCRIPT DE INICIALIZAÇÃO

		       ** Habilitar recursos do Vim **

  O Vim tem muito mais recursos do que o Vi, mas na sua maioria eles são
  desabilitados por padrão.  Para usar mais recursos, você tem que criar um
  arquivo "vimrc".

  1. Comece a editar o arquivo "vimrc". Isso depende do sistema:
         :e ~/.vimrc              para Unix
         :e $VIM/_vimrc           para MS-Windows

  2. Agora, leia o conteúdo do arquivo "vimrc" de exemplo:
         :r $VIM/vimrc_example.vim

  3. Salve o arquivo com:
         :w

  Da próxima vez que o Vim for iniciado, ele irá usar realce de sintaxe. Você
  pode adicionar suas configurações preferidas para esse arquivo "vimrc". Para
  maiores informações, digite:  :help vimrc-intro

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			    Lição 7.3: COMPLETAÇÃO

	   ** Completação da linha de comando com CTRL-D e <TAB> **

   1. Certifique-se de que o Vim não está no modo compatível:  :set nocp

   2. Olhe quais arquivos existem no diretório:  :!ls  ou  :!dir

   3. Digite o início de um comando:  :e

   4. Pressione  CTRL-D  e o Vim irá mostrar a lista dos comandos iniciados
      com "e".

   5. Pressione  <TAB>  e o Vim irá completar o nome do comando para ":edit".

   6. Agora, adicione um espaço e o início do nome de um arquivo existente:
      :edit ARQ

   7. Pressione <TAB>.  O Vim irá completar o nome (se ele for único).

NOTA:  A completação funciona com muitos comandos. Basta pressionar CTRL-D e
<TAB>. Isso é especialmente útil para  :help .
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			      SUMÁRIO DA LIÇÃO 7


  1. Digite  :help ou pressione <F1> ou <Help>  para abrir a janela de ajuda.

  2. Digite  :help cmd  para achar a ajuda sobre  cmd .

  3. Digite  CTRL-W CTRL-W  para pular de uma janela para outra.

  4. Digite  :q  para fechar a janela de ajuda.

  5. Crie um script de inicialização vimrc para ativar automaticamente as suas
     configurações preferidas.

  6. Quando pressionando um comando  : , pressione CTRL-D para ver as
     possibilidade de completação.



  

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Isto conclui o Vim tutor. Ele pretendeu dar uma breve apresentação do editor
  Vim, somente o bastante para que você possa usar o editor com facilidade.
  Ele está longe de ser completo, uma vez que o Vim possui muitos, muitos mais
  comandos. O próximo passo é ler o manual:  ":help user-manual".

  Livro recomendado em Português sobre o Vim:
       O editor de texto Vim - de Sérgio Luiz Araújo da Silva et al.
       http://code.google.com/p/vimbook/

  Para futura leitura e estudo, este livro é recomendado:
       Vim - Vi Improved - de Steve Oualline
       Editora: New Riders
  Este é o primeiro livro completamente dedicado ao Vim. Especialmente útil
  para iniciantes, com muitos exemplos e ilustrações.
  Veja http://iccf-holland.org/click5.html

  Esse livro é mais antigo e mais sobre o Vi do que sobre o Vim, mas também é
  recomendado:
       Learning the Vi Editor - de Linda Lamb
       Editora: O'Reilly & Associates Inc.
  Este é um bom livro para aprender quase tudo o que você quer fazer com o Vi.
  A sexta edição também inclui informações sobre o Vim.

  Este tutorial foi escrito por Michael C. Pierce e Robert K. Ware,
  Colorado School of Mines, usando idéias fornecidas por Charles Smith,
  Colorado State University.  E-mail: bware@mines.colorado.edu.

  Modificado para o Vim por Bram Moolenaar.

  Versão 1.4 traduzida para o português por Marcelo Drudi Miranda, Escola
  Politécnica da Universidade de São Paulo.

  Revisão e atualização da tradução para a versão 1.7 por Jakson Aquino,
  Universidade Federal do Ceará: E-mail: jalvesaq@gmail.com

  Last Change: 2010 Jul 27

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
