Per avviare vi:
Esempio: > vi lettera aprirà un nuovo file chiamato lettera da modificare, o se lettera è già uscita, aprirà il file uscente.
| Comando | Effetto | |
| vi nome del file | modifica il nome del file partendo dalla linea 1 | |
| vi +n nome file | modifica il nome del file a partire dalla linea n | |
| vi +nome file | modifica il nome del file a partire dall’ultima linea | |
| vi -r nome del file | recupera il nome del file dopo un crash di sistema | |
| vi +/patter nome del file | modifica il nome del file a partire dalla prima riga contenente il pattern | 
Modalità comando vs. Insert Mode
Insert mode è la modalità in cui trovarsi quando si inserisce del testo nel file. La modalità comando è la modalità in cui trovarsi quando si danno comandi che spostano il cursore, cancellano il testo, copiano e incollano, salvano il file ecc.
Quando si inserisce un file, vi è in modalità comando. Per inserire del testo, devi entrare in modalità insert. Se siete in modalità inserimento, entrate in modalità comando premendo il tasto escape, <esc>.
Per inserire del testo:
| Comando | Inserisci testo | 
| i | prima cursore | 
| a | dopo il cursore | 
| A | alla fine della linea | 
| o | aprire una linea sotto la linea corrente | 
| O | aprire una linea sopra la linea corrente | 
| r | sostituire il carattere corrente | 
| R | sostituire i caratteri fino a <ESC>, sovrascrivere | 
Per spostare il cursore:
Devi essere in Modalità Comando per usare i comandi che spostano il cursore. Ognuno di questi comandi può essere preceduto da un fattore di ripetizione.
Esempi: 
8j sposterà il cursore verso il basso di 8 righe 
3w sposterà il cursore di 3 parole a destra.
| Comando | Muove il cursore | |
| SPACE, l (el), o freccia destra | spazio a destra | |
| h o freccia sinistra | spazio a sinistra | |
| j o freccia giù | giù di una riga | |
| k o freccia su | su di una riga | |
| w | parola a destra | |
| b | parola a sinistra | |
| $ | fine riga | |
| 0 (zero) | inizio della linea | |
| e | fine della parola a destra | |
| – | inizio della linea precedente | |
| ) | fine della frase | |
| ( | inizio della frase | |
| } | fine del paragrafo | |
| { | inizio del paragrafo | 
Per cancellare il testo:
Il comando d rimuove il testo dal buffer di lavoro. La quantità rimossa dipende dal Fattore di Ripetizione e dall’Unità di Misura che inserite dopo d. Se cancellate per errore: date il comando u (undo) immediatamente dopo aver dato il comando delete.
Esempi: 3dd cancellerà 3 righe a partire dalla riga corrente. 
3dw o d3w cancellerà 3 parole
| Comando | Azione | |
| d0 | cancella all’inizio della riga | |
| dw | cancella alla fine della parola | |
| d3w | cancella alla fine della terza parola | |
| db | cancella all’inizio della parola | |
| dW | cancella alla fine della parola delimitata in bianco | |
| dB | cancella all’inizio della parola delimitata in bianco | |
| dd | cancella la riga corrente | |
| 5dd | cancella 5 righe a partire dalla riga corrente | |
| dL | cancella attraverso l’ultima riga sullo schermo | |
| dH | cancella attraverso la prima riga sullo schermo | |
| d) | cancellare attraverso la fine della frase | |
| d( | cancellare attraverso l’inizio della frase | |
| x | cancellare il carattere corrente | |
| nx | cancellare il numero di caratteri specificato da n. | |
| nX | cancella n caratteri prima del carattere corrente | 
Visualizzare diverse parti del buffer di lavoro:
^Carattere significa che si deve tenere premuto il tasto Control mentre si colpisce il tasto carattere indicato.
| Comando | Muove il cursore | |
| ^D | avanti di unamezzo schermo | |
| ^U | indietro di unamezza schermata | |
| ^F | avanti di una schermata | |
| ^B | indietro di una schermata | |
| nG | alla linea n (es: 25G sposta il cursore alla linea #25) | |
| H | alla parte superiore dello schermo | |
| M | al centro dello schermo | |
| L | a la parte inferiore dello schermo | |
| ^L | rinnova lo schermo | 
Copiare e mettere (incollare) il testo:
Esempio: 3yy stornerà (copierà) 3 righe 
p metterà le 3 righe appena stornate sulla linea sotto il cursore corrente.
Nella seguente lista M è un’unità di misura che si può far precedere da un fattore di ripetizione, n.
| Comando | Effetto | |
| yM | scioglie testo specificato da M | |
| y3w | sciogliere 3 parole | |
| nyy | sciogliere n righe | |
| Y | scivola fino alla fine della linea | |
| P | metti il testo sopra la linea corrente | |
| p | inserire il testo sotto la linea corrente | 
Modificare il testo
Esempio: cw permette di cambiare una parola. La parola può essere sostituita da tante parole quante sono necessarie. Fermate il cambiamento premendo < esc >. 
c3w vi permette di cambiare 3 parole.
Fine di una sessione di modifica
| Comando | Effetto | |
| :w | scrive il contenuto del buffer di lavoro nel file | |
| :q | esce | |
| :q! | uscita senza salvare le modifiche | |
| ZZ | salva e abbandona | |
| :wq | salva e abbandona | |
| :w nome file | salva in nome file (permette di cambiare il nome del file) | 
Comandi vari
| Comando | Effetto | 
| J | unisce la riga corrente e la riga seguente | 
| :impostare il numero | numerare le linee sullo schermo (non effettivamente aggiunto al file) | 
| :imposta non numero | disattiva la numerazione delle linee | 
| :r nomefile | legge il nome del file nel file corrente nella posizione del cursore | 
| :set showmode | visualizza INPUT MODE nell’angolo in basso a destra dello schermo | 
| ~ | cambia le maiuscole con le minuscole e viceversa | 
Cercare un’espressione
Quando si è in modalità comando se si inserisce / il cursore andrà in fondo allo schermo. Seguite questo con un’espressione e vi troverà la prossima occorrenza di quell’espressione nel file. Esempio: /Bill troverà la prossima occorrenza di Bill. Se questo è seguito dal comando: n, viene trovata la prossima occorrenza di Bill.
0 commenti