Archivio per 15 Maggio 2007|pagina archivio quotidiano

Editor di testi VI

L’editor di testi più usato nell’ambiente GNU/Linux è VI (VIsual editor).

Normalmente, si installa la sua versione avanzata (VIM) oppure quella estesa (VIM Enhanced). Sono tutte sostanzialmente simili, differiscono in alcune caratteristiche marginali.

Per avviare l’editor di testi è sufficiente utilizzare il comando:
vi
oppure
vi nomefile
nel primo caso verrà solamente avviato l’editor, nel secondo verrà anche aperto un file. Se il file non esiste, sarà creato al primo salvataggio.

Modalità comando – modalità inserimento

L’editor VI opera in due modalità:

  • Modalità comando – Permette di inserire comandi per compiere tutte le azioni tipiche di un editor di testi: aprire un file, salvare un file, uscire, ricercare e sostituire parole.
  • Modalità inserimento – Permette di scrivere e modificare il testo vero e proprio.

Come passare da una modalità all’altra

Ci sono diversi modi per passare dalla modalità comando a quella inserimento. Per semplicità possiamo digitare la lettera “i” (inserimento).

Per tornare alla modalità comando è sufficiente premere il tasto ESC.

Una successiva pressione del tasto ESC manterrà la modalità comando. Per questa ragione, in qualsiasi condizione ci si trovi, per uscire dall’imbarazzo, è sufficiente premere ripetutamente il tasto ESC e si avrà la certezza di essere in modalità comando.

Comandi utili

Nella modalità comando, queste sono le azioni più utili:

ZZ salvare e uscire
:r nomefile aprire un file
:w salvare un file
:w nomefile salvare un file con un nuovo nome
:wq salvare ed uscire
:q uscire (solo se non si sono apportate modifiche non ancora salvate
q! uscire senza salvare

Comandi di copia e incolla

yy copia della riga corrente
2y(giu) copia delle due righe sottostanti
p incolla

Cancellare righe o caratteri

x cancella un carattere dopo il cursore
5x cancella cinque caratteri dopo il cursore
D cancella dal cursore alla fine della riga
dd cancella la riga in cui si trova il cursore
4dd cancella quattro righe dal cursore in poi
dG cancella tutte le righe fino alla fine del file
d1G cancella tutte le righe dall’inizio del file alla riga corrente

Spostarsi nel file

^ inizio riga corrente
$ fine riga corrente
G fine del file
1G inizio del file
:15 quindicesima riga

Ricerca e sostituzione del testo

/stringa cerca la stringa muovendosi verso il basso
? cerca la stringa muovendosi verso l’alto
u annulla l’ultima modifica
U annulla l’ultimo annullmento
. ripete l’ultimo comando