Il programma vi ( Visual Editor ) è stato originariamente scritto da Bill Joy, in pratica è un’interfaccia visuale per la shell di Linux con capacità di editing di testo. Gli utilizzatori di Linux più incalliti lo conoscono bene, perché con questo editor di testo si fanno molteplici operazioni, ma è complicato tanto quanto potente. Vi è un editor modale, questo significa che quando si è in modo “comandi” i tasti eseguono operazioni sul buffer e quindi salvataggi, aperture e tante altre cose, mentre quando è in modalità “inserimento” consente di inserire e modificare il testo. Quando il programma viene avviato è in modalità comandi, ci sono molti comandi per entrare in modalità inserimento, tra questi “i” è il più elementare, per ritornare in modalità comandi basta fare Esc. In modalità inserimento premere “x” per cancellare il carattere sul cursore e spostare il resto della riga a sinistra, “dd” per cancellare l’intera riga sul cursore. Per sostituire un carattere non è necessario cancellare il carattere e riscriverlo, ma posizionarsi con il cursore sul carattere da modificare e poi premere “r” ed inserire il nuovo carattere. Per uscire da vi salvando le modifiche nel file basta entrare in modo comandi e premere “ZZ“. Se in modalità comandi inseriamo i due punti ( : ) è possibile dare altri comandi come w ( write ), q ( quit ) ed il punto esclamativo per uscire senza salvare il buffer anche se è stato modificato.
:w – Viene scritto il buffer nel file.
:q – Si esce da vi solo se il buffer non è stato modificato.
:q! – Si esce da vi senza salvare nulla.
Ovviamente dopo aver scritto questi comandi va dato invio.
Per inserire il testo da altre fonti, file o output di comandi possiamo scrivere.
:r nomefile – per inserire un file nella posizione corrente.
:r !comando – per inserire l’output del comando nella posizione corrente.
Per annullare un comando basta premere “u“( undo ), in questo modo si annulla l’ultima modifica e se si premesse di nuovo “u” si annullerebbe l’annullamento del comando. Premendo “U” maiuscola invece è possibile annullare solo le modifiche fatte sulla riga corrente.
Questa è soltanto una minima parte di quello che si può fare con “vi“, ma essendo l’argomento molto ostico e non sapendo se interessa mi fermo qui aspettando vostri commenti per chiedere la spiegazione anche dei metodi più avanzati di questo fantastico editor di Linux. Ricordo inoltre dell’esistenza anche di un forum dedicato a Linux.