===============================================================================
=     B e n v i d o   a o   t u t o r   d o   V I M      -    Versión 1.7     =
===============================================================================
=                        C A P Í T U L O   D O U S                            =
===============================================================================

     Hic Sunt Dracones: se este é o súa primeira exposición ao vim, e
     prefire iniciarse no capítulo introducturio, pode saír premendo
     :q <ENTER> .

     O tempo aproximado requerido para completar este capítulo é de 
     8-10 minutos, dependendo de canto tempo use na experimentación.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			Lección 2.1.1: OS REXISTROS CON NOME 


  ** Almacene dúas palabras copiadas de xeito consecutivo, e logo pégueas. ** 

  1. Mova o cursor ata a liña inferior sinalada con --->.
 
  2. Navegue ata calquera carácter da palabra 'Xoán' e escriba  "ayiw .

NEMÓNICO: 
     dentro do rexistro(")
     chamado (a) 
     pega (y)ank 
     o interior (i)nner 
     da palabra (w)ord

  3. Navegue cara a adiante ata a palabra 'galetas' 
     (  fl  ou  4fe  ou  $b  ou  /gal <ENTER> ) e teclee  "byiw .

  4. Navegue ata calquera carácter da palabra 'Uxío' e teclee 
     ciw <C-r>a<ESC>

NEMÓNICO:
     cambia (c)hange
     o interior (i)nner
     da palabra (w)ord 
     co <contido do rexistro (r)egister>
     chamado (a)

  5. Navegue ata calquera punto da palabra 'tartas' e teclee 
     ciw<C-r>b<ESC>

--->  a) De eiquí en adiante, Xoán ficará encarregado das racións de galetas.
      b) Xa que logo, Uxío somentes terá poderes no que respecta ás tartas.

NOTA: O borrado tamén funciona nos rexistros, é dicir: 
      "sdiw  borrará a palabra baixo o cursor e ficaráa no rexistro s. 

REFERENCIAS:  Rexistros            :h registers
              Rexistros con come:  :h quotea
              Movemento            :h motion.txt<enter> /inner<enter>
              CTRL-R               :h insert<enter> /CTRL-R<enter>
 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		     Lección 2.1.2: O REXISTRO DE EXPRESIÓN


 ** Insira o resultado dos cáculos sobre a marcha. ** 

  1. Mova o cursor ata a liña sinalada con --->.

  2. Navegue ata calquera carácter do número que aparece na liña. 

  3. Teclee  ciw<C-r>=60*60*24<ENTER> .

  4. Na seguinte liña, entre no modo Inserir e engada a data de hoxe con: 
     <C-r>=system('date')<ENTER>

NOTA: Tódalas chamadas a sistema son dependentes do sistema operativo.
      Por exemplo, en Windows pode usar:
      system('date /t')  ou  :r!date /t

---> Esquecín o número exacto de segundos que ten un día; son 84600?
---> A data de hoxe é: 

NOTA: O mesmo pódese obter con  :pu=system('date')
      ou, premendo menos teclas, con  :r!date .

REFERENCIAS:  Rexistro de experesión    :h quote=


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		      Lección 2.1.3: OS REXISTROS NUMERADOS


  ** Prema  yy  e mais  dd  para ve-lo seu efecto nos rexistros. **

  1. Mova o cursor ata a liña sinalada con --->.

  2. Copie a liña 0, e logo inspeccione os rexitros con  :reg<enter> .

  3. Borre a liña 0 con "cdd, e logo inspeccione os rexistros.
     (Onde espera que estea o contido da liña 0?)

  4. Continúe borrando cada liña sucesivamente, inspeccionando os rexistros
     sobre a marcha.

NOTA: Debería decatarse de que as liñas borradas máis antigas móvense cara a
      embaixo na lista, consonte se engaden as novas liñas borradas. 

  5. Agora, poña (p) os seguintes rexistros en orde: c, 7, 4, 8, 2.
     Por exemplo, usando  "7p .

---> 0. Esta
     9. cambalear
     8. mensaxe 
     7. é
     6. en
     5. eixo
     4. unha
     3. guerra
     2. secreta.
     1. tributo

NOTA: O borrado de liñas enteiras (dd) permanece máis tempo nos rexistros 
      numerados có copiado de liñas enteiras ou de texto máis pequeno.   

REFERENCIAS:  Rexistros numerados    :h quote00


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		      Lección 2.1.4: A BELEZA DAS MARCAS


  ** Evitando conta-las liñas de código **

NOTA: Un problema frecuente que acontece cando se programa é o desprazamento
      entre pedazos de código. A seguinte técnica axuda a evita-lo cálculo
      de números de liña asociados a operacions coma  "a147d  ou
      :945,1091d a  ou, incluso peor, usando primeiro
      <C-r>=1091-945<ENTER> .

  1. Mova o cursor ata a liña sinalada con --->.

  2. Vaia á primeira liña da función e márquea con  ma .

NOTA: A posición exacta na liña NON é importante!

  3. Navegue ata a fin da liña, e deseguido ata a fin do bloque de código
     con  $% .

  4. Borre o bloque e póñao no rexistro 'a' con  "ad'a .

NEMÓNICO: 
     Dentro do rexistro(")
     con nome de rexistro (a) 
     pon o borrado (d)eletion
     dende o cursor ata a liña que contén a marca(')
     de nome de marca (a)

  5. Pegue o bloque entre BBB e CCC con  "ap .

NOTA: Practique esta operación múltiples veces,
      ata chegar a facelo fluidamente:  ma$%"ad'a

---> AAA
     function itGotRealBigRealFast() {
       if ( somethingIsTrue ) {
         doIt()
       }
       // the taxonomy of our function has changed and it
       // no longer makes alphabetical sense in its current position

       // imagine hundreds of lines of code

       // naively you could navigate to the start and end and record or
       // remember each line number
     }
     BBB
     CCC

NOTA: As marcas e mailos rexistros non comparten un espazo común de nomes, 
      de xeito que un rexistro 'a' é completamente independente dunha
      marca 'a'. En troques, isto non acontece entre os rexistros
      e mailas macros.

REFERENCIAS:  Marcas                :h marks
              Movemento de marcas   :h mark-motions  (diferencia entre ' e  `)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			       Lección 2.1 RESUMO

  1. Gardar texto (por medio de copiar ou borrar), e recuperalo (pegar) dende
     un total de 26 rexistros (a-z).
  2. Pegar unha palbra enteira dende calquer sitio dentro dunha palara:  yiw
  3. Cambiar unha palabra enteira dende calquer punto de palabra:        ciw
  4. Inserir texto directamente dende os rexistros en modo Inserir:   (C-r)a
  5. Inseri-lo resultado de operacións aritméticas simples no modo
     Inserir:  (C-r)=60*60<ENTER>
  6. Inseri-los resultados de chamadas ao sistema no modo Inserir: 
     (C-r)=system('ls -1')
  7. Inspecciona-los rexistros con  :reg .
  8. Aprende-lo destino final do borrado de liñas enteiras (dd) nos
     rexistros numerados, é dicir, descendendo dende o reistro 1 ao 9. 
     Decatarse de que o borrado de liñas enteiras presérvase nos rexistros
     numerados máis tempo que calquera outra operación.   
  9. Aprende-lo destino final de tódalas copias feitas nos rexistros 
     numerados e cómo son de efímeros. 
 10. Situar marcas dende o modo de comandos  m[a-zA-Z0-9] .
 11. Moverse a una liña cunha marca con  ' .

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  Isto conclúe o capítulo dows do Vim Tutor. Este é traballo en progreso.  
  Este capítulo foi escrito por Paul D. Parker.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  Traducido do inglés ao galego por Fernando Vilariño.
  Correo electrónico: fernando@cvc.uab.es.

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