Le opzioni influenziano l'ambiente dell'editor VI con lo scopo di
adattarlo alle esigenze dell'utente.
L'editor 'vi' ha 3 tipi di opzioni: a valori numerici, a valori
stringa e a valori booleani (vero, falso).
Si attribuisce un valore alle opzioni numeriche o a valori
stringa con un comando del tipo:
:set opzione=valore
Si attribuisce il valore "vero" alle opzioni booleane (cioè le
si attiva) con un comando del tipo:
:set opzione
Si attribuisce un valore "falso" alle opzioni booleane (cioè le
si disattiva) con un comando del tipo:
:set noopzione
Per avere una lista di tutte le opzioni:
:set all
Per avere una lista di tutte le opzioni modificate:
:set
Per avere il valore di una opzione di tipo numerico o stringa:
:set opzione
Oltre all'utilizzo del comando 'set', che permette quindi di
settare le opzioni all'interno dell'editor stesso, è anche
possibile farlo prima di entrarvi, definendo la variabile di
ambiente EXINIT oppure utilizzando il file .exrc (posizionato
nella home directory dell'utente, contiene tutte le opzioni da
questo personalizzate).
Sia la variabile EXINIT che il file .exrc possono quindi contenere
i valori personalizzati delle opzioni vi.
Con questi due altri metodi le personalizzazioni vengono mantenute
quando si esce dall'editor, mentre con il comando ":set" le opzioni
valgono solamente all'interno di quella sessione di editor.
Di seguito riportiamo alcune delle numerose opzioni che possono
essere settate all'interno del 'vi' (i valori di default sono
riportati tra () ):
OPZIONE VALORE DESCRIZIONE
autoindent ai|(noai) Indentazione automatica del testo
autowrite aw|(noaw) Scrive automaticamente il buffer di
editing nel file (nel caso in cui
risulti modificato dopo l'ultima
scrittura) prima dei comandi come
':n' o prima dell'esecuzione di
sub-comandi con '!'
ignorecase ic|(noic) In fase di ricerca, tratta le
lettere maiuscole come minuscole
list list|(nolist) Visualizza i TAB con '^L' e newline
con '$'
number nu|(nonu) Prefissa le linee col numero di
linea
shiftwidth sw=8 Shifta la distanza per il TAB stop
utilizzato da "autoindent", per i
comandi shift (> e <) e per i
comandi di input di testo (^D e ^T)
showmatch sm|(nosm) Evidenzia ) e } corrispondenti a
( e { digitato
showmode smd|(nosmd) Mostra la modalità di inserimento
corrente nella linea dei messaggi
Ad esempio, con il comando 'a'
viene visualizzato 'APPEND MODE'
tabstop ts=8 Spazi corrispondenti ad un TAB (è
consigliabile farlo coincidere con
l'opzione shiftwidth)
wrapmargin wm=0 'vi' inserisce automaticamente un
newline quando trova naturale
spezzare il testo all'interno di
spazi dichiarati come 'wm'
(opzione utile per l'editing di
testo); se wm=0, va a capo dopo
80-N chars
La sintassi per settare un'opzione è la seguente:
:set <opt>
Esempio:
:set number
inserisce il numero davanti a ciascuna linea del file.
Con il comando:
:set no<opt>
si toglie l'opzione.