Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Edición eficiente de texto con Vim

Edición eficiente de texto con Vim

Avatar for Roberto Bonvallet

Roberto Bonvallet

August 20, 2009
Tweet

More Decks by Roberto Bonvallet

Other Decks in Programming

Transcript

  1. Edici´ on eficiente de texto con Vim Roberto Bonvallet [email protected]

    Departamento de Inform´ atica Universidad T´ ecnica Federico Santa Mar´ ıa 20 de agosto de 2009
  2. y y p 2 f i c w lib Esc

    3 j c i } . . . Esc : w fact.c Enter : make Enter
  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. Notaci´ on x : la tecla x presionada : una

    tecla cualquiera presionada mov : un movimiento realizado op : una operaci´ on lala : el texto lala tipeado tal cual
  18. Los comandos m´ as paltosos del mundo . : repite

    el ´ ultimo comando u : deshace el ´ ultimo comando (undo) Ctrl R : rehace lo deshecho (redo)
  19. Dile no a las flechas h , j , k

    , l ← , ↓ , ↑ , → .
  20. 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´ entesis ( , ) , { , } : moverse por oraciones y p´ arrafos Precedidos por un n´ umero, se repiten tantas veces
  21. $ 0 3 ) 2 } G 8 g g

    5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  22. $ 0 3 ) 2 } G 8 g g

    5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  23. $ 0 3 ) 2 } G 8 g g

    5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  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. Edici´ on simple x : suprime caracter ∼ : min´

    uscula/may´ uscula p , P : pega despu´ es, antes J : unir l´ ıneas r : reemplazar caracter Ctrl A , Ctrl X : incrementar, decrementar n´ umero
  39. Edici´ on con movimiento d mov : delete y mov

    : yank (copiar) c mov : change > mov : aumentar indentaci´ on g u mov : cambia a may´ usculas g ? mov : rot13 g q mov : dar formato = mov : reindentar c´ odigo Al usar el mismo comando como movimiento, se aplica a la l´ ınea actual.
  40. Seudomovimientos op a ) : lo que est´ a entre

    par´ entesis op i ) : lo que est´ a entre par´ entesis, sin inclu´ ırlos op a s : una oraci´ on op a p : un p´ arrafo op i ” : lo que est´ a entre comillas
  41. C´ omo comenzar a escribir i , a : antes,

    despu´ es del cursor I , A : al principio, final de la l´ ınea o , O : en una l´ ınea nueva despu´ es, antes de la actual c mov : cambia texto al finalizar, presione Esc
  42. 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
  43. 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
  44. 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
  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. Modo visual (aka seleccionar) v : selecciona caracteres V :

    selecciona l´ ıneas Ctrl V : selecciona bloques g v : repite selecci´ on anterior
  68. Comandos paltosos en modo inserci´ on 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
  69. 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
  70. 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
  71. 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
  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. 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
  97. 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
  98. B´ usqueda / patr´ on Enter : busca el patr´

    on hacia adelante ? patr´ on Enter : busca el patr´ on hacia atr´ as n , N : busca pr´ oxima/anterior ocurrencia de la ´ ultima b´ usqueda ∗ , # : busca pr´ oxima/anterior ocurrencia de la palabra bajo el cursor
  99. Mapeos y abreviaciones : map <Space> <C-f> Enter : imap

    jj <Esc> Enter : imap FOR for()<Esc>i Enter : iabbrev pq porque Enter
  100. Macros q : comienza a grabar una macro en el

    registro @ : ejecuta la macro grabada en @ @ : ejecuta la ´ ultima macro ejecutada
  101. q z y y p Ctrl A f { Ctrl

    A q @ z @ @ 1 0 @ @
  102. q z y y p Ctrl A f { Ctrl

    A q @ z @ @ 1 0 @ @
  103. q z y y p Ctrl A f { Ctrl

    A q @ z @ @ 1 0 @ @
  104. q z y y p Ctrl A f { Ctrl

    A q @ z @ @ 1 0 @ @
  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 @ @