Edición eficiente de texto con Vim

996 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
996
On SlideShare
0
From Embeds
0
Number of Embeds
63
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Edición eficiente de texto con Vim

  1. 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. 2. Diapos git clone git:/ /github.com/rbonvall/charla-vim.git Reutilice a su antojo
  3. 3. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  4. 4. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  5. 5. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  6. 6. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  7. 7. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  8. 8. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  9. 9. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  10. 10. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  11. 11. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  12. 12. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  13. 13. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  14. 14. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  15. 15. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  16. 16. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  17. 17. y y p 2 f i c w lib Esc 3 j c i } . . . Esc : w fact.c Enter : make Enter
  18. 18. Utilizaci´n del teclado o Figura: ` la Bloc de Notas a
  19. 19. Utilizaci´n del teclado o Figura: ` la Vim a
  20. 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. 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. 22. Dile no a las flechas h , j , k , l ←, ↓ , ↑ , →.
  23. 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. 24. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  25. 25. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  26. 26. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  27. 27. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  28. 28. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  29. 29. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  30. 30. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  31. 31. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  32. 32. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  33. 33. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  34. 34. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  35. 35. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  36. 36. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  37. 37. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  38. 38. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  39. 39. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  40. 40. $ 0 3 ) 2 } G 8 g g 5 Ctrl Y f e ; ; 3 w % Ctrl F Ctrl O * n
  41. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 70. Modo visual (aka seleccionar) v : selecciona caracteres V : selecciona l´ ıneas Ctrl V : selecciona bloques g v : repite selecci´n anterior o
  71. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 100. Modo ex, sustituciones : %s/textbf/emph/gc Enter : ’<,’>s!f((.*)!f(0, 1, 0! Enter : %s,UTFSM,<b>&</b>,g Enter
  101. 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. 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. 103. Mapeos y abreviaciones : map <Space> <C-f> Enter : imap jj <Esc> Enter : imap FOR for()<Esc>i Enter : iabbrev pq porque Enter
  104. 104. Macros q : comienza a grabar una macro en el registro @ : ejecuta la macro grabada en @ @ : ejecuta la ultima macro ejecutada ´
  105. 105. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @
  106. 106. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @
  107. 107. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @
  108. 108. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @
  109. 109. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @
  110. 110. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @
  111. 111. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @
  112. 112. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @
  113. 113. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @
  114. 114. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @
  115. 115. q z y y p Ctrl A f { Ctrl A q @ z @ @ 1 0 @ @

×