edición eficiente de texto con vim

Post on 04-Jun-2015

794 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Edicion eficiente de texto con Vim

Roberto Bonvalletrbonvall@inf.utfsm.cl

Departamento de InformaticaUniversidad Tecnica Federico Santa Marı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

Utilizacion del teclado

Figura: a la Bloc de Notas

Utilizacion del teclado

Figura: a la 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

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)

Dile no a las flechas

I , h , j , k , l

I / ← , ↓ , ↑ , → .

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

$ 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

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

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.

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

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

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)

I v : selecciona caracteres

I V : selecciona lıneas

I Ctrl V : selecciona bloques

I g v : repite seleccion anterior

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

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

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

Modo ex, sustituciones

I : %s/textbf/emph/gc Enter

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

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

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

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

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

Macros

I q : comienza a grabar una macro en el registro

I @ : ejecuta la macro grabada en

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

top related