Utilització del vi

El vi és un editor de fitxers bastant complexe, que s’utilitza directament des del terminal però quan s’aprèn a utilitzar permet editar fitxers de forma molt ràpida. Es basa en tres modes d’execució, el mode d’Inserció, el mode Escape i l’altre (a vegades se li diu mode «dos punts»).

Per editar un fitxer amb el vi, cal executar la comanda següent des d’un terminal:

vi  nom_fitxer

També es pot invocar amb més d’un fitxer, o posar comodins («*», «?») en el nom de fitxer.

Mode d’inserció

En el mode Inserció és quan es pot escriure el que es vulgui i això queda reflectit en la pantalla (i posteriorment en el fitxer si es guarden les modificacions). Quan entrem al vi, no estem en mode Inserció, sinó en mode Escape.

Mode Escape

En aquest mode d’execució, les tecles no escriuen res, sinó que serveixen com a tecles de funció. Quan s’entra en el vi, per defecte estem en aquest mode, i hi tornem cada cop que premem la tecla Esc. En qualsevol de les funcions que es veurà, si abans de prémer la tecla corresponent es tecleja un número, la funció es repetirà n cops. Les funcions principals són les següents:

  • Tecles de moviment:

k: moure el cursor amunt.
j: moure el cursor avall.
h: moure el cursor a l’esquerra.
l: moure el cursor a la dreta.

w: moure’s a la paraula següent.
b: moure’s a la paraula anterior.

0: anar a principi de línia.
$: anar a final de línia.

  • Tecles per passar a mode Inserció:

i: afegeix texte abans del cursor.
I: afegeix texte a principi de línia.
a: afegeix texte després del cursor.
A: afegeix texte a final de línia.

o: afegeix una nova línia sota la que estem.
O: afegeix una nova línia sobre la que estem.

r: substitueix un caràcter pel que li posem i torna directament a mode Esc.
R: passa a mode Inserció sobreescrivint.

cl: canvia un caràcter pel que anem posant.
cw: canvia una paraula pel que anem posant.
c$: canvia fins a final de línia pel que anem posant.
cc: canvia tota la línia pel que anem posant.

  • Tecles per esborrar:

x: esborra la lletra en la que ens trobem.
X: esborra la lletra a la esquerra.
dw: esborra la paraula.
d$: esborra fins a final de línia.
dd: esborra tota la línia.

  • Tecles per copiar i enganxar text:

dd: fa un «retalla» d’una línia (s’utilitza tant per esborrar línies com per fer un «retalla»).
yy: fa un «copia» d’una línia.
p: enganxa les darreres línies copiades després de la línia actual.
P: enganxa les darreres línies copiades abans de la línia actual.

  • Altres tecles importants:

.: repeteix la última ordre.
u: desfà la última modificació.

Mode «dos punts»

Aquest mode ens serveix per sortir del fitxer, fer substitucions repetitives i indicar opcions especials de configuració del vi. En aquest mode s’entra prement, mentre s’està en mode Escape, les tecles «:», «/» o «?», depenent dels casos. Per saber clar quina d’elles cal prémer, està escrita en l’explicació.

  • Sortir del fitxer:

:q : surt del vi sense guardar els canvis. Si s’han fet modificacions, no deixarà sortir.
:q! : surt forçadament del vi sense desar els canvis.
:w : desa les modificacions en el fitxer.
:w nom_fitxer : desa les modificacions en el fitxer «nom_fitxer».
:wq : desa les modificacions en el fitxer i surt.
:x : desa les modificacions en el fitxer i surt.

  • Buscar en el fitxer:

/xxx : busca «xxx» en el fitxer a partir de la línia actual cap endavant.
/ : repeteix endavant l’última cerca.
?xxx : busca «xxx» en el fitxer a partir de la línia actual cap enrere.
? : repeteix enrere l’última cerca.

  • Canviar de fitxer editat: (si hem invocat el vi amb més d’un fitxer)

:n : Anem al següent fitxer
:p : Anem al fitxer anterior

  • Funcions especials:

:set nu : numera les línies.
:set nonu : treu la numeració de les línies.
:15,25 dele : borra de la línia 15 a la 25, ambdues incloses.
:s/text1/text2/ : canvia «text1» per «text2» en la següent ocurrència.
:15,25 s/text1/text2/ : canvia el «text1» per «text2» tots els cops entre les línies 15 i 25.
:1,$ s/text1/text2/ : canvia el «text1» per «text2» tots els cops.

Una comentari en l'entrada: Utilització del vi

  1. Retroenllaç: Treballar amb el terminal com si fos el «vi» | GNULinux.cat

Deixa un comentari

Registra't! Així ja no hauràs d'introduir les dades cada vegada i podràs editar els teus comentaris.

*

L'adreça electrònica no es publicarà Els camps necessaris estan marcats amb *

Podeu fer servir aquestes etiquetes i atributs HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>