VI è un editor di testo, disponibile su diverse piattaforme Unix-like, estremamente flessibile, nonstante la sua complessità. Per questo tutorial verrà utilizzato VI Imporved, un editor in gran parte compatibile con VI.

L’editor può essere avviato da console con:

anto@anto-net:~$ vim filename

il nome del file è opzionale.

VIM dispone di due modalità: la modalità normale e la modalità inserimento.
Durante la modalità normale, è possibile dare all’editor determinati comandi, solitamente composti da poche lettere.
Durante la modalità inserimento, i caratteri digitati verranno memorizzati nel buffer rappresentante il file.
Per passare dalla modalità inserimento a quella comando si può premere il tasto ESC.
Possiamo ad esempio chiudere l’editor premendo ESC, e dando il comando :q (oppure, q! per scartare le modifiche o :wq per salvare le modifiche):

Ciao mondo
~
~
~
~
~
~
~
~
:q

Possiamo notare la presenza di diverse tilde. Tali caratteri indicano linee vuote non presenti nel file.

Per sapere la modalità in cui siamo, diamo il comando :set showmode.

Per passare dalla modalità normale a quella inserimento, ci basta premere il tasto i. Da questo momento in poi, tutti i caratteri digitati verrano inseriti nel file.

Per rimuovere una parola mentre siamo, ad esempio, in modalità inserimento, premiamo ESC (per passare in modalità normale) e diamo il comando dw, facendo attenzione a tenere il cursore all’inizio della parola.
Per rimuovere una riga intera, invece, eseguiamo la stessa procedura utilizzando il comando dd.
Si noti che, a differenza dei comando che cominciano con il carattere “:” (ad esempio :q), questi comando non verranno visualizzati nella riga di input dei comandi.

In modo simile a questo, possono essere eseguiti molti altri comandi che rendono il lavoro di editing di un testo decisamente leggero e veloce.

Lista di alcuni comandi

:q Termina l’editor
:q! Termina l’editor scartando le eventuali modifiche
:qw Termina l’editor salvando le eventuali modifiche
:w Scrive su file le modifiche effettuate
dw Rimuove le parola sotto al cursore
dd Rimuove la linea corrente
d^ Rimuove dalla posizione del cursore fino all’inizio della riga
x Rimuove il carattere sotto al cursore
u Azione di undo
CTRL+R Azione di redo
o Crea una nuova linea sotto al cursore
O Crea una nuova linea sopra al cursore