L'editor vi viene fornito con ogni versione di Linux o Unix.
Per entrare e uscire da vi :-
Per iniziare –
vi filename (modifica il nome del file a partire dalla riga 1)
vi -r filename (recupera il nome del file che era stato modificato quando il sistema si è arrestato in modo anomalo)
Per uscire da vi –
:wq
:q
:q!
Spostare il cursore :-
j o
k [o freccia su] (sposta il cursore su una riga)
h o
l o
0 (zero) (sposta il cursore all'inizio della riga corrente, quella con il cursore)
$ (sposta il cursore alla fine della riga corrente)
w (sposta il cursore all'inizio della parola successiva)
b (sposta il cursore all'inizio della parola precedente)
:0
:n
:$
Manipolazione dello schermo :-
^f (vai avanti di una schermata)
^b (sposta indietro di una schermata)
^d (sposta in basso (avanti) di metà schermo)
^u (sposta verso l'alto (indietro) di metà schermo)
^l (ridisegna lo schermo)
^r (ridisegna lo schermo, rimuovendo le righe cancellate)
Aggiunta, modifica ed eliminazione di testo :-
Aggiunta di testo –
i (inserire il testo prima del cursore, fino a premere
I (inserire il testo all'inizio della riga corrente, fino a premere
a (aggiungi il testo dopo il cursore, finché non premi
A (aggiungi il testo alla fine della riga corrente, finché non premi
o (apri e inserisci il testo in una nuova riga sotto la riga corrente, finché non premi
Modifica del testo –
r (sostituisci un singolo carattere sotto il cursore, non è necessario
R (sostituisci i caratteri, a partire dalla posizione corrente del cursore, fino a premere
cw (cambia la parola corrente con un nuovo testo, iniziando con il carattere sotto il cursore, fino a premere
cNw (cambia N parole che iniziano con il carattere sotto il cursore, fino a premere
C (cambia (sostituisci) i caratteri nella riga corrente, fino a premere
cc (cambia (sostituisci) l'intera riga corrente, fermandosi quando viene premuto
Ncc o cNc (modifica (sostituisci) le successive N righe, iniziando dalla riga corrente, interrompendo quando viene premuto
Eliminazione del testo –
x (cancella un singolo carattere sotto il cursore)
Nx (cancella N caratteri, iniziando con il carattere sotto il cursore)
dw (cancella la singola parola che inizia con il carattere sotto il cursore)
dNw (cancella N parole che iniziano con il carattere sotto il cursore; es. d5w cancella 5 parole)
D (cancella il resto della riga, partendo dalla posizione attuale del cursore)
dd (cancella l'intera riga corrente)
Ndd o dNd (elimina N righe, iniziando con la riga corrente; ad esempio, 5dd elimina 5 righe)
Tagliare e incollare testo –
yy (copia (strappa, taglia) la riga corrente nel buffer)
Nyy o yNy (copia (strappa, taglia) le N righe successive, inclusa la riga corrente, nel buffer)
p (metti (incolla) le righe nel buffer nel testo dopo la riga corrente)