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

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