SlideShare uma empresa Scribd logo
1 de 115
Baixar para ler offline
Edici´n eficiente de texto con Vim
     o

            Roberto Bonvallet
           rbonvall@inf.utfsm.cl

          Departamento de Inform´tica
                                  a
    Universidad T´cnica Federico Santa Mar´
                 e                        ıa


          20 de agosto de 2009
Diapos
git clone git:/
              /github.com/rbonvall/charla-vim.git

Reutilice a su antojo
y   y   p    2   f   i    c   w   lib Esc 3   j
c   i   }   . . . Esc :   w fact.c Enter :    make Enter
y   y   p    2   f   i    c   w   lib Esc 3   j
c   i   }   . . . Esc :   w fact.c Enter :    make Enter
y   y   p    2   f   i    c   w   lib Esc 3   j
c   i   }   . . . Esc :   w fact.c Enter :    make Enter
y   y   p    2   f   i    c   w   lib Esc 3   j
c   i   }   . . . Esc :   w fact.c Enter :    make Enter
y   y   p    2   f   i    c   w   lib Esc 3   j
c   i   }   . . . Esc :   w fact.c Enter :    make Enter
y   y   p    2   f   i    c   w   lib Esc 3   j
c   i   }   . . . Esc :   w fact.c Enter :    make Enter
y   y   p    2   f   i    c   w   lib Esc 3   j
c   i   }   . . . Esc :   w fact.c Enter :    make Enter
y   y   p    2   f   i    c   w   lib Esc 3   j
c   i   }   . . . Esc :   w fact.c Enter :    make Enter
y   y   p    2   f   i    c   w   lib Esc 3   j
c   i   }   . . . Esc :   w fact.c Enter :    make Enter
y   y   p    2   f   i    c   w   lib Esc 3   j
c   i   }   . . . Esc :   w fact.c Enter :    make Enter
y   y   p    2   f   i    c   w   lib Esc 3   j
c   i   }   . . . Esc :   w fact.c Enter :    make Enter
y   y   p    2   f   i    c   w   lib Esc 3   j
c   i   }   . . . Esc :   w fact.c Enter :    make Enter
y   y   p    2   f   i    c   w   lib Esc 3   j
c   i   }   . . . Esc :   w fact.c Enter :    make Enter
y   y   p    2   f   i    c   w   lib Esc 3   j
c   i   }   . . . Esc :   w fact.c Enter :    make Enter
y   y   p    2   f   i    c   w   lib Esc 3   j
c   i   }   . . . Esc :   w fact.c Enter :    make Enter
Utilizaci´n del teclado
         o




                    Figura: ` la Bloc de Notas
                            a
Utilizaci´n del teclado
         o




                          Figura: ` la Vim
                                  a
Notaci´n
      o




      x : la tecla x presionada
           : una tecla cualquiera presionada
      mov : un movimiento realizado
      op : una operaci´n
                      o
      lala : el texto lala tipeado tal cual
Los comandos m´s paltosos del mundo
              a




      .   : repite el ultimo comando
                      ´
      u : deshace el ultimo comando (undo)
                     ´
      Ctrl R : rehace lo deshecho (redo)
Dile no a las flechas




          h , j   , k , l
          ←, ↓ , ↑ , →.
Movimientos



      w , b , e : word, beginning of word, end of word.
      0 , $ : comienzo, final de l´
                                 ınea
      g   g , G : comienzo, final del archivo
      f       , F     : siguiente, anterior “   ” (find)
       % : aparea par´ntesis
                     e
      ( , ) , { , } : moverse por oraciones y p´rrafos
                                               a
      Precedidos por un n´mero, se repiten tantas veces
                         u
$   0       3   )   2   }   G   8   g   g   5   Ctrl Y
f   e   ;       ;   3   w   % Ctrl F Ctrl O *        n
$   0       3   )   2   }   G   8   g   g   5   Ctrl Y
f   e   ;       ;   3   w   % Ctrl F Ctrl O *        n
$   0       3   )   2   }   G   8   g   g   5   Ctrl Y
f   e   ;       ;   3   w   % Ctrl F Ctrl O *        n
$   0       3   )   2   }   G   8   g   g   5   Ctrl Y
f   e   ;       ;   3   w   % Ctrl F Ctrl O *        n
$   0       3   )   2   }   G   8   g   g   5   Ctrl Y
f   e   ;       ;   3   w   % Ctrl F Ctrl O *        n
$   0       3   )   2   }   G   8   g   g   5   Ctrl Y
f   e   ;       ;   3   w   % Ctrl F Ctrl O *        n
$   0       3   )   2   }   G   8   g   g   5   Ctrl Y
f   e   ;       ;   3   w   % Ctrl F Ctrl O *        n
$   0       3   )   2   }   G   8   g   g   5   Ctrl Y
f   e   ;       ;   3   w   % Ctrl F Ctrl O *        n
$   0       3   )   2   }   G   8   g   g   5   Ctrl Y
f   e   ;       ;   3   w   % Ctrl F Ctrl O *        n
$   0       3   )   2   }   G   8   g   g   5   Ctrl Y
f   e   ;       ;   3   w   % Ctrl F Ctrl O *        n
$   0       3   )   2   }   G   8   g   g   5   Ctrl Y
f   e   ;       ;   3   w   % Ctrl F Ctrl O *        n
$   0       3   )   2   }   G   8   g   g   5   Ctrl Y
f   e   ;       ;   3   w   % Ctrl F Ctrl O *        n
$   0       3   )   2   }   G   8   g   g   5   Ctrl Y
f   e   ;       ;   3   w   % Ctrl F Ctrl O *        n
$   0       3   )   2   }   G   8   g   g   5   Ctrl Y
f   e   ;       ;   3   w   % Ctrl F Ctrl O *        n
$   0       3   )   2   }   G   8   g   g   5   Ctrl Y
f   e   ;       ;   3   w   % Ctrl F Ctrl O *        n
$   0       3   )   2   }   G   8   g   g   5   Ctrl Y
f   e   ;       ;   3   w   % Ctrl F Ctrl O *        n
$   0       3   )   2   }   G   8   g   g   5   Ctrl Y
f   e   ;       ;   3   w   % Ctrl F Ctrl O *        n
Edici´n simple
     o




       x : suprime caracter
       ∼ : min´scula/may´scula
              u         u
       p , P : pega despu´s, antes
                         e
       J : unir l´
                 ıneas
       r      : reemplazar caracter
       Ctrl A , Ctrl X : incrementar, decrementar n´mero
                                                   u
Edici´n con movimiento
     o

       d   mov : delete
       y   mov : yank (copiar)
       c   mov : change
       > mov : aumentar indentaci´n
                                 o
       g   u   mov : cambia a may´sculas
                                 u
       g   ?   mov : rot13
       g   q   mov : dar formato
       = mov : reindentar c´digo
                           o
      Al usar el mismo comando como movimiento,
      se aplica a la l´
                      ınea actual.
Seudomovimientos




      op a   ) : lo que est´ entre par´ntesis
                           a          e

      op i   ) : lo que est´ entre par´ntesis, sin inclu´
                           a          e                 ırlos

      op a   s : una oraci´n
                          o
      op a   p : un p´rrafo
                     a
      op i   ” : lo que est´ entre comillas
                           a
C´mo comenzar a escribir
 o




       i   , a : antes, despu´s del cursor
                             e
       I   , A : al principio, final de la l´
                                           ınea
       o , O : en una l´
                       ınea nueva despu´s, antes de la actual
                                       e
       c   mov : cambia texto
      al finalizar, presione Esc
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
6   g   g   f     m   c   i   w enumerate Esc 5        j       h
.   4   k       A , Esc j      .   j   .   j   .   r       .       k
F   o   x   p     d   a   p   }    p
Modo visual (aka seleccionar)




       v : selecciona caracteres
       V : selecciona l´
                       ıneas
       Ctrl V : selecciona bloques
       g   v : repite selecci´n anterior
                             o
Comandos paltosos en modo inserci´n
                                 o




       Ctrl H , Ctrl U : borra el caracter anterior, hasta el final de
      la l´
          ınea
       Ctrl T , Ctrl D : indenta, dedenta
       Ctrl Y , Ctrl E : copia el caracter de arriba, abajo
       Ctrl P , Ctrl N : completa con palabra anterior, posterior
       Ctrl X Ctrl F : completa con nombre de archivo
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
o   <li>Mi fotolog</li> Esc .             F       f   v   3   l
c   b Esc . . . o   ... Ctrl X Ctrl F ... Esc :           w Enter
f   .   g   f   . . . Ctrl O . . . Ctrl V 5   j
I   <a href=""> Esc
Modo ex, archivos


       :   e README Enter
       :   w foo.c Enter
       :   w Enter
       :   3,$w Enter
       :   wq Enter

       :   q! Enter

       :   r bar.py Enter

       :   r! find . -name=’*.c’ Enter
Modo ex, sustituciones




       :   %s/textbf/emph/gc Enter

       :   ’<,’>s!f((.*)!f(0, 1, 0! Enter

       :   %s,UTFSM,<b>&</b>,g Enter
Modo ex, varios



       :   .,+5d Enter
       :   normal f#d$ Enter
       :   g/foo/d Enter

       :   g/bar$/normal I/* Ctrl V Esc A*/ Enter

       :   1,.j Enter

       :   earlier 5m Enter
       :   %!sort Enter
B´squeda
 u




      /    patr´n
               o      Enter : busca el patr´n hacia adelante
                                           o

      ?    patr´n
               o      Enter : busca el patr´n hacia atr´s
                                           o           a

      n , N : busca pr´xima/anterior ocurrencia de la ultima
                      o                               ´
     b´squeda
      u
      ∗ , # : busca pr´xima/anterior ocurrencia de la palabra
                      o
     bajo el cursor
Mapeos y abreviaciones




       :   map <Space> <C-f> Enter

       :   imap jj <Esc> Enter

       :   imap FOR for()<Esc>i Enter

       :   iabbrev pq porque Enter
Macros




         q     : comienza a grabar una macro en el registro
         @     : ejecuta la macro grabada en
         @ @ : ejecuta la ultima macro ejecutada
                          ´
q   z   y   y   p   Ctrl A f   {   Ctrl A q
@ z     @ @     1   0   @ @
q   z   y   y   p   Ctrl A f   {   Ctrl A q
@ z     @ @     1   0   @ @
q   z   y   y   p   Ctrl A f   {   Ctrl A q
@ z     @ @     1   0   @ @
q   z   y   y   p   Ctrl A f   {   Ctrl A q
@ z     @ @     1   0   @ @
q   z   y   y   p   Ctrl A f   {   Ctrl A q
@ z     @ @     1   0   @ @
q   z   y   y   p   Ctrl A f   {   Ctrl A q
@ z     @ @     1   0   @ @
q   z   y   y   p   Ctrl A f   {   Ctrl A q
@ z     @ @     1   0   @ @
q   z   y   y   p   Ctrl A f   {   Ctrl A q
@ z     @ @     1   0   @ @
q   z   y   y   p   Ctrl A f   {   Ctrl A q
@ z     @ @     1   0   @ @
q   z   y   y   p   Ctrl A f   {   Ctrl A q
@ z     @ @     1   0   @ @
q   z   y   y   p   Ctrl A f   {   Ctrl A q
@ z     @ @     1   0   @ @

Mais conteúdo relacionado

Mais procurados (8)

Comandos
ComandosComandos
Comandos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Prolog file
Prolog fileProlog file
Prolog file
 
Prac1
Prac1Prac1
Prac1
 
Comandos
ComandosComandos
Comandos
 
Ejemplo de lectura y escritura de archivo de texto en Java
Ejemplo de lectura y escritura de archivo de texto en JavaEjemplo de lectura y escritura de archivo de texto en Java
Ejemplo de lectura y escritura de archivo de texto en Java
 
Deteccion de Ciclos en c
Deteccion de Ciclos en cDeteccion de Ciclos en c
Deteccion de Ciclos en c
 
Comandos
ComandosComandos
Comandos
 

Destaque (7)

Lindaflora Project, Bel Air
Lindaflora Project, Bel AirLindaflora Project, Bel Air
Lindaflora Project, Bel Air
 
Austin Xmas 2008
Austin Xmas 2008Austin Xmas 2008
Austin Xmas 2008
 
Imabo Nobel BMG
Imabo Nobel BMGImabo Nobel BMG
Imabo Nobel BMG
 
TecnologíA Educativa Ii
TecnologíA Educativa IiTecnologíA Educativa Ii
TecnologíA Educativa Ii
 
Tobacco Use
Tobacco UseTobacco Use
Tobacco Use
 
Programación funcional en Haskell
Programación funcional en HaskellProgramación funcional en Haskell
Programación funcional en Haskell
 
Test 101
Test 101Test 101
Test 101
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (15)

presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

Edición eficiente de texto con Vim

  • 1. Edici´n eficiente de texto con Vim o Roberto Bonvallet rbonvall@inf.utfsm.cl Departamento de Inform´tica a Universidad T´cnica Federico Santa Mar´ e ıa 20 de agosto de 2009
  • 2. Diapos git clone git:/ /github.com/rbonvall/charla-vim.git Reutilice a su antojo
  • 3. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  • 4. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  • 5. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  • 6. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  • 7. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  • 8. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  • 9. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  • 10. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  • 11. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  • 12. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  • 13. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  • 14. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  • 15. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  • 16. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  • 17. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  • 18. Utilizaci´n del teclado o Figura: ` la Bloc de Notas a
  • 19. Utilizaci´n del teclado o Figura: ` la Vim a
  • 20. Notaci´n o x : la tecla x presionada : una tecla cualquiera presionada mov : un movimiento realizado op : una operaci´n o lala : el texto lala tipeado tal cual
  • 21. Los comandos m´s paltosos del mundo a . : repite el ultimo comando ´ u : deshace el ultimo comando (undo) ´ Ctrl R : rehace lo deshecho (redo)
  • 22. Dile no a las flechas h , j , k , l ←, ↓ , ↑ , →.
  • 23. Movimientos w , b , e : word, beginning of word, end of word. 0 , $ : comienzo, final de l´ ınea g g , G : comienzo, final del archivo f , F : siguiente, anterior “ ” (find) % : aparea par´ntesis e ( , ) , { , } : moverse por oraciones y p´rrafos a Precedidos por un n´mero, se repiten tantas veces u
  • 24. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  • 25. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  • 26. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  • 27. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  • 28. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  • 29. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  • 30. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  • 31. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  • 32. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  • 33. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  • 34. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  • 35. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  • 36. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  • 37. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  • 38. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  • 39. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  • 40. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  • 41. Edici´n simple o x : suprime caracter ∼ : min´scula/may´scula u u p , P : pega despu´s, antes e J : unir l´ ıneas r : reemplazar caracter Ctrl A , Ctrl X : incrementar, decrementar n´mero u
  • 42. Edici´n con movimiento o d mov : delete y mov : yank (copiar) c mov : change > mov : aumentar indentaci´n o g u mov : cambia a may´sculas u g ? mov : rot13 g q mov : dar formato = mov : reindentar c´digo o Al usar el mismo comando como movimiento, se aplica a la l´ ınea actual.
  • 43. Seudomovimientos op a ) : lo que est´ entre par´ntesis a e op i ) : lo que est´ entre par´ntesis, sin inclu´ a e ırlos op a s : una oraci´n o op a p : un p´rrafo a op i ” : lo que est´ entre comillas a
  • 44. C´mo comenzar a escribir o i , a : antes, despu´s del cursor e I , A : al principio, final de la l´ ınea o , O : en una l´ ınea nueva despu´s, antes de la actual e c mov : cambia texto al finalizar, presione Esc
  • 45. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 46. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 47. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 48. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 49. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 50. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 51. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 52. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 53. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 54. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 55. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 56. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 57. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 58. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 59. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 60. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 61. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 62. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 63. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 64. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 65. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 66. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 67. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 68. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 69. 6 g g f m c i w enumerate Esc 5 j h . 4 k A , Esc j . j . j . r . k F o x p d a p } p
  • 70. Modo visual (aka seleccionar) v : selecciona caracteres V : selecciona l´ ıneas Ctrl V : selecciona bloques g v : repite selecci´n anterior o
  • 71. Comandos paltosos en modo inserci´n o Ctrl H , Ctrl U : borra el caracter anterior, hasta el final de la l´ ınea Ctrl T , Ctrl D : indenta, dedenta Ctrl Y , Ctrl E : copia el caracter de arriba, abajo Ctrl P , Ctrl N : completa con palabra anterior, posterior Ctrl X Ctrl F : completa con nombre de archivo
  • 72. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 73. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 74. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 75. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 76. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 77. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 78. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 79. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 80. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 81. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 82. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 83. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 84. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 85. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 86. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 87. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 88. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 89. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 90. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 91. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 92. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 93. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 94. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 95. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 96. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 97. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 98. o <li>Mi fotolog</li> Esc . F f v 3 l c b Esc . . . o ... Ctrl X Ctrl F ... Esc : w Enter f . g f . . . Ctrl O . . . Ctrl V 5 j I <a href=""> Esc
  • 99. Modo ex, archivos : e README Enter : w foo.c Enter : w Enter : 3,$w Enter : wq Enter : q! Enter : r bar.py Enter : r! find . -name=’*.c’ Enter
  • 100. Modo ex, sustituciones : %s/textbf/emph/gc Enter : ’<,’>s!f((.*)!f(0, 1, 0! Enter : %s,UTFSM,<b>&</b>,g Enter
  • 101. Modo ex, varios : .,+5d Enter : normal f#d$ Enter : g/foo/d Enter : g/bar$/normal I/* Ctrl V Esc A*/ Enter : 1,.j Enter : earlier 5m Enter : %!sort Enter
  • 102. B´squeda u / patr´n o Enter : busca el patr´n hacia adelante o ? patr´n o Enter : busca el patr´n hacia atr´s o a n , N : busca pr´xima/anterior ocurrencia de la ultima o ´ b´squeda u ∗ , # : busca pr´xima/anterior ocurrencia de la palabra o bajo el cursor
  • 103. Mapeos y abreviaciones : map <Space> <C-f> Enter : imap jj <Esc> Enter : imap FOR for()<Esc>i Enter : iabbrev pq porque Enter
  • 104. Macros q : comienza a grabar una macro en el registro @ : ejecuta la macro grabada en @ @ : ejecuta la ultima macro ejecutada ´
  • 105. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @
  • 106. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @
  • 107. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @
  • 108. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @
  • 109. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @
  • 110. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @
  • 111. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @
  • 112. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @
  • 113. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @
  • 114. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @
  • 115. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @