Edición eficiente de texto con Vim

115
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

Transcript of Edición eficiente de texto con Vim

Page 1: Edición eficiente de texto con Vim

Edicion eficiente de texto con Vim

Roberto [email protected]

Departamento de InformaticaUniversidad Tecnica Federico Santa Marıa

20 de agosto de 2009

Page 2: Edición eficiente de texto con Vim

Diapos

git clone git://github.com/rbonvall/charla-vim.git

Reutilice a su antojo

Page 3: Edición eficiente de texto con Vim

y y p 2 f i c w lib Esc 3 j

c i } . . . Esc : w fact.c Enter : make Enter

Page 4: Edición eficiente de texto con Vim

y y p 2 f i c w lib Esc 3 j

c i } . . . Esc : w fact.c Enter : make Enter

Page 5: Edición eficiente de texto con Vim

y y p 2 f i c w lib Esc 3 j

c i } . . . Esc : w fact.c Enter : make Enter

Page 6: Edición eficiente de texto con Vim

y y p 2 f i c w lib Esc 3 j

c i } . . . Esc : w fact.c Enter : make Enter

Page 7: Edición eficiente de texto con Vim

y y p 2 f i c w lib Esc 3 j

c i } . . . Esc : w fact.c Enter : make Enter

Page 8: Edición eficiente de texto con Vim

y y p 2 f i c w lib Esc 3 j

c i } . . . Esc : w fact.c Enter : make Enter

Page 9: Edición eficiente de texto con Vim

y y p 2 f i c w lib Esc 3 j

c i } . . . Esc : w fact.c Enter : make Enter

Page 10: Edición eficiente de texto con Vim

y y p 2 f i c w lib Esc 3 j

c i } . . . Esc : w fact.c Enter : make Enter

Page 11: Edición eficiente de texto con Vim

y y p 2 f i c w lib Esc 3 j

c i } . . . Esc : w fact.c Enter : make Enter

Page 12: Edición eficiente de texto con Vim

y y p 2 f i c w lib Esc 3 j

c i } . . . Esc : w fact.c Enter : make Enter

Page 13: Edición eficiente de texto con Vim

y y p 2 f i c w lib Esc 3 j

c i } . . . Esc : w fact.c Enter : make Enter

Page 14: Edición eficiente de texto con Vim

y y p 2 f i c w lib Esc 3 j

c i } . . . Esc : w fact.c Enter : make Enter

Page 15: Edición eficiente de texto con Vim

y y p 2 f i c w lib Esc 3 j

c i } . . . Esc : w fact.c Enter : make Enter

Page 16: Edición eficiente de texto con Vim

y y p 2 f i c w lib Esc 3 j

c i } . . . Esc : w fact.c Enter : make Enter

Page 17: Edición eficiente de texto con Vim

y y p 2 f i c w lib Esc 3 j

c i } . . . Esc : w fact.c Enter : make Enter

Page 18: Edición eficiente de texto con Vim

Utilizacion del teclado

Figura: a la Bloc de Notas

Page 19: Edición eficiente de texto con Vim

Utilizacion del teclado

Figura: a la Vim

Page 20: Edición eficiente de texto con Vim

Notacion

I x : la tecla x presionada

I : una tecla cualquiera presionada

I mov : un movimiento realizado

I op : una operacion

I lala : el texto lala tipeado tal cual

Page 21: Edición eficiente de texto con Vim

Los comandos mas paltosos del mundo

I . : repite el ultimo comando

I u : deshace el ultimo comando (undo)

I Ctrl R : rehace lo deshecho (redo)

Page 22: Edición eficiente de texto con Vim

Dile no a las flechas

I , h , j , k , l

I / ← , ↓ , ↑ , → .

Page 23: Edición eficiente de texto con Vim

Movimientos

I w , b , e : word, beginning of word, end of word.

I 0 , $ : comienzo, final de lınea

I g g , G : comienzo, final del archivo

I f , F : siguiente, anterior “ ” (find)

I % : aparea parentesis

I ( , ) , { , } : moverse por oraciones y parrafos

I Precedidos por un numero, se repiten tantas veces

Page 24: Edición eficiente de texto con Vim

$ 0 3 ) 2 } G 8 g g 5 Ctrl Y

f e ; ; 3 w % Ctrl F Ctrl O * n

Page 25: Edición eficiente de texto con Vim

$ 0 3 ) 2 } G 8 g g 5 Ctrl Y

f e ; ; 3 w % Ctrl F Ctrl O * n

Page 26: Edición eficiente de texto con Vim

$ 0 3 ) 2 } G 8 g g 5 Ctrl Y

f e ; ; 3 w % Ctrl F Ctrl O * n

Page 27: Edición eficiente de texto con Vim

$ 0 3 ) 2 } G 8 g g 5 Ctrl Y

f e ; ; 3 w % Ctrl F Ctrl O * n

Page 28: Edición eficiente de texto con Vim

$ 0 3 ) 2 } G 8 g g 5 Ctrl Y

f e ; ; 3 w % Ctrl F Ctrl O * n

Page 29: Edición eficiente de texto con Vim

$ 0 3 ) 2 } G 8 g g 5 Ctrl Y

f e ; ; 3 w % Ctrl F Ctrl O * n

Page 30: Edición eficiente de texto con Vim

$ 0 3 ) 2 } G 8 g g 5 Ctrl Y

f e ; ; 3 w % Ctrl F Ctrl O * n

Page 31: Edición eficiente de texto con Vim

$ 0 3 ) 2 } G 8 g g 5 Ctrl Y

f e ; ; 3 w % Ctrl F Ctrl O * n

Page 32: Edición eficiente de texto con Vim

$ 0 3 ) 2 } G 8 g g 5 Ctrl Y

f e ; ; 3 w % Ctrl F Ctrl O * n

Page 33: Edición eficiente de texto con Vim

$ 0 3 ) 2 } G 8 g g 5 Ctrl Y

f e ; ; 3 w % Ctrl F Ctrl O * n

Page 34: Edición eficiente de texto con Vim

$ 0 3 ) 2 } G 8 g g 5 Ctrl Y

f e ; ; 3 w % Ctrl F Ctrl O * n

Page 35: Edición eficiente de texto con Vim

$ 0 3 ) 2 } G 8 g g 5 Ctrl Y

f e ; ; 3 w % Ctrl F Ctrl O * n

Page 36: Edición eficiente de texto con Vim

$ 0 3 ) 2 } G 8 g g 5 Ctrl Y

f e ; ; 3 w % Ctrl F Ctrl O * n

Page 37: Edición eficiente de texto con Vim

$ 0 3 ) 2 } G 8 g g 5 Ctrl Y

f e ; ; 3 w % Ctrl F Ctrl O * n

Page 38: Edición eficiente de texto con Vim

$ 0 3 ) 2 } G 8 g g 5 Ctrl Y

f e ; ; 3 w % Ctrl F Ctrl O * n

Page 39: Edición eficiente de texto con Vim

$ 0 3 ) 2 } G 8 g g 5 Ctrl Y

f e ; ; 3 w % Ctrl F Ctrl O * n

Page 40: Edición eficiente de texto con Vim

$ 0 3 ) 2 } G 8 g g 5 Ctrl Y

f e ; ; 3 w % Ctrl F Ctrl O * n

Page 41: Edición eficiente de texto con Vim

Edicion simple

I x : suprime caracter

I ∼ : minuscula/mayuscula

I p , P : pega despues, antes

I J : unir lıneas

I r : reemplazar caracter

I Ctrl A , Ctrl X : incrementar, decrementar numero

Page 42: Edición eficiente de texto con Vim

Edicion con movimiento

I d mov : delete

I y mov : yank (copiar)

I c mov : change

I > mov : aumentar indentacion

I g u mov : cambia a mayusculas

I g ? mov : rot13

I g q mov : dar formato

I = mov : reindentar codigo

I Al usar el mismo comando como movimiento,se aplica a la lınea actual.

Page 43: Edición eficiente de texto con Vim

Seudomovimientos

I op a ) : lo que esta entre parentesis

I op i ) : lo que esta entre parentesis, sin incluırlos

I op a s : una oracion

I op a p : un parrafo

I op i ” : lo que esta entre comillas

Page 44: Edición eficiente de texto con Vim

Como comenzar a escribir

I i , a : antes, despues del cursor

I I , A : al principio, final de la lınea

I o , O : en una lınea nueva despues, antes de la actual

I c mov : cambia texto

I al finalizar, presione Esc

Page 45: Edición eficiente de texto con Vim

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

Page 46: Edición eficiente de texto con Vim

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

Page 47: Edición eficiente de texto con Vim

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

Page 48: Edición eficiente de texto con Vim

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

Page 49: Edición eficiente de texto con Vim

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

Page 50: Edición eficiente de texto con Vim

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

Page 51: Edición eficiente de texto con Vim

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

Page 52: Edición eficiente de texto con Vim

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

Page 53: Edición eficiente de texto con Vim

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

Page 54: Edición eficiente de texto con Vim

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

Page 55: Edición eficiente de texto con Vim

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

Page 56: Edición eficiente de texto con Vim

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

Page 57: Edición eficiente de texto con Vim

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

Page 58: Edición eficiente de texto con Vim

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

Page 59: Edición eficiente de texto con Vim

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

Page 60: Edición eficiente de texto con Vim

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

Page 61: Edición eficiente de texto con Vim

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

Page 62: Edición eficiente de texto con Vim

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

Page 63: Edición eficiente de texto con Vim

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

Page 64: Edición eficiente de texto con Vim

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

Page 65: Edición eficiente de texto con Vim

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

Page 66: Edición eficiente de texto con Vim

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

Page 67: Edición eficiente de texto con Vim

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

Page 68: Edición eficiente de texto con Vim

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

Page 69: Edición eficiente de texto con Vim

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

Page 70: Edición eficiente de texto con Vim

Modo visual (aka seleccionar)

I v : selecciona caracteres

I V : selecciona lıneas

I Ctrl V : selecciona bloques

I g v : repite seleccion anterior

Page 71: Edición eficiente de texto con Vim

Comandos paltosos en modo insercion

I Ctrl H , Ctrl U : borra el caracter anterior, hasta el final dela lınea

I Ctrl T , Ctrl D : indenta, dedenta

I Ctrl Y , Ctrl E : copia el caracter de arriba, abajo

I Ctrl P , Ctrl N : completa con palabra anterior, posterior

I Ctrl X Ctrl F : completa con nombre de archivo

Page 72: Edición eficiente de texto con Vim

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

Page 73: Edición eficiente de texto con Vim

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

Page 74: Edición eficiente de texto con Vim

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

Page 75: Edición eficiente de texto con Vim

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

Page 76: Edición eficiente de texto con Vim

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

Page 77: Edición eficiente de texto con Vim

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

Page 78: Edición eficiente de texto con Vim

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

Page 79: Edición eficiente de texto con Vim

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

Page 80: Edición eficiente de texto con Vim

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

Page 81: Edición eficiente de texto con Vim

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

Page 82: Edición eficiente de texto con Vim

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

Page 83: Edición eficiente de texto con Vim

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

Page 84: Edición eficiente de texto con Vim

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

Page 85: Edición eficiente de texto con Vim

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

Page 86: Edición eficiente de texto con Vim

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

Page 87: Edición eficiente de texto con Vim

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

Page 88: Edición eficiente de texto con Vim

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

Page 89: Edición eficiente de texto con Vim

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

Page 90: Edición eficiente de texto con Vim

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

Page 91: Edición eficiente de texto con Vim

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

Page 92: Edición eficiente de texto con Vim

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

Page 93: Edición eficiente de texto con Vim

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

Page 94: Edición eficiente de texto con Vim

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

Page 95: Edición eficiente de texto con Vim

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

Page 96: Edición eficiente de texto con Vim

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

Page 97: Edición eficiente de texto con Vim

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

Page 98: Edición eficiente de texto con Vim

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

Page 99: Edición eficiente de texto con Vim

Modo ex, archivos

I : e README Enter

I : w foo.c Enter

I : w Enter

I : 3,$w Enter

I : wq Enter

I : q! Enter

I : r bar.py Enter

I : r! find . -name=’*.c’ Enter

Page 100: Edición eficiente de texto con Vim

Modo ex, sustituciones

I : %s/textbf/emph/gc Enter

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

I : %s,UTFSM,<b>&</b>,g Enter

Page 101: Edición eficiente de texto con Vim

Modo ex, varios

I : .,+5d Enter

I : normal f#d$ Enter

I : g/foo/d Enter

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

I : 1,.j Enter

I : earlier 5m Enter

I : %!sort Enter

Page 102: Edición eficiente de texto con Vim

Busqueda

I / 〈patron〉 Enter : busca el patron hacia adelante

I ? 〈patron〉 Enter : busca el patron hacia atras

I n , N : busca proxima/anterior ocurrencia de la ultimabusqueda

I ∗ , # : busca proxima/anterior ocurrencia de la palabrabajo el cursor

Page 103: Edición eficiente de texto con Vim

Mapeos y abreviaciones

I : map <Space> <C-f> Enter

I : imap jj <Esc> Enter

I : imap FOR for()<Esc>i Enter

I : iabbrev pq porque Enter

Page 104: Edición eficiente de texto con Vim

Macros

I q : comienza a grabar una macro en el registro

I @ : ejecuta la macro grabada en

I @ @ : ejecuta la ultima macro ejecutada

Page 105: Edición eficiente de texto con Vim

q z y y p Ctrl A f { Ctrl A q

@ z @ @ 1 0 @ @

Page 106: Edición eficiente de texto con Vim

q z y y p Ctrl A f { Ctrl A q

@ z @ @ 1 0 @ @

Page 107: Edición eficiente de texto con Vim

q z y y p Ctrl A f { Ctrl A q

@ z @ @ 1 0 @ @

Page 108: Edición eficiente de texto con Vim

q z y y p Ctrl A f { Ctrl A q

@ z @ @ 1 0 @ @

Page 109: Edición eficiente de texto con Vim

q z y y p Ctrl A f { Ctrl A q

@ z @ @ 1 0 @ @

Page 110: Edición eficiente de texto con Vim

q z y y p Ctrl A f { Ctrl A q

@ z @ @ 1 0 @ @

Page 111: Edición eficiente de texto con Vim

q z y y p Ctrl A f { Ctrl A q

@ z @ @ 1 0 @ @

Page 112: Edición eficiente de texto con Vim

q z y y p Ctrl A f { Ctrl A q

@ z @ @ 1 0 @ @

Page 113: Edición eficiente de texto con Vim

q z y y p Ctrl A f { Ctrl A q

@ z @ @ 1 0 @ @

Page 114: Edición eficiente de texto con Vim

q z y y p Ctrl A f { Ctrl A q

@ z @ @ 1 0 @ @

Page 115: Edición eficiente de texto con Vim

q z y y p Ctrl A f { Ctrl A q

@ z @ @ 1 0 @ @