SlideShare una empresa de Scribd logo
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   @ @

Más contenido relacionado

La actualidad más candente (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
 

Destacado (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

PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
encinasm992
 

Último (20)

Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL Server
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptx
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdf
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdfHIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de Software
 

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 @ @