|
Per iniziare
L'editor "vi" viene invocato con il seguente comando:
vi [-r] [+comando] [file1 [file2 ... filen]]
dove:
-r è un'opzione da introdurre dopo un crash del sistema (per recuperare i
cambiamenti eventuali non memorizzati nella sessione interrotta);
+comando apre la sessione dell'editor eseguendo il "comando" (sono contemplati solo
i comandi di editor di linea).
Quando vengono specificati più nomi di file da editare, 'vi' inizia l'editing sul
primo file suggerito, e su richiesta (comando ':n') passerà seguendo l'ordine
ai successivi.
L'editor vi visualizza una schermata di file alla volta, permettendo
lo spostamento del cursore con appositi comandi al punto dove si vuole inserire
o aggiornare il testo.
Per un funzionamento ottimale è necessario conoscere l'esatto tipo di terminale
a disposizione. Verrà quindi settata la variabile TERM con la sintassi propria
del sistema su cui si lavora; per default, la sintassi standard è:
TERM=type ; export TERM
dove "type" corrisponde ad un nome di terminale (con tutte le funzionalità
ad esso legate) descritto nella libreria "terminfo". Nella prima schermata
di "vi", compariranno le prime 24 righe del file richiamato (con "~" come
primo carattere sulle righe vuote), e ci si troverà in COMMAND MODE.
Quest'ultimo è uno dei tre possibili stati dell'editor "vi".
1)COMMAND MODE
Il cursore è posizionato sul testo, la tastiera è utilizzabile solo per richiedere l'esecuzione
di comandi, e non per introdurre testo. I caratteri digitati non vengono visualizzati.
2)INPUT MODE
Tutti i caratteri digitati vengono visualizzati ed inseriti
nel testo. Si passa in input mode ad ogni richiesta di inserimento di testo.
3)DIRECTIVE MODE
Ci si trova (tramite ":") posizionati con il cursore
nella linea direttive (l'ultima linea del video) e si possono richiedere a
"vi" tutti i comandi per il controllo del file. I passaggi di stato avvengono
con i seguenti caratteri:
1) DIRECTIVE MODE -----> COMMAND MODE <RET>
2) COMMAND MODE -----> INPUT MODE oOiIaA
- o apre una nuova linea al di sotto della linea corrente e permette l'inserimento del testo;
- O apre una nuova linea al di sopra della linea corrente e permette l'inserimento del testo;
- i inserice testo prima del cursore;
- I inserice testo prima dell'inizio della linea corrente;
- a aggiunge testo dopo il cursore;
- A aggiunge testo dopo la fine della linea corrente; 3) INPUT MODE -----> COMMAND MODE <ESC>
4) COMMAND MODE -----> DIRECTIVE MODE :/?
E' inoltre possibile lanciare comandi appartenenti alla
shell da cui è stato richiamato il "vi" stesso, tramite l'apposito escape
alla shell (questo comando verrà trattato meglio più avanti):
:!comando
Per eliminare del testo, 'vi' ha un singolo buffer senza nome,
nel quale viene salvata l'ultima porzione di testo cancellata, nove buffer
numerati (1 2 ... 9) ed un insieme di buffer individuati dalle lettere dell'alfabeto
(a b ... z) a disposizione dell'utente. I buffer, in caso di editing di più
file in successione, non vengono cancellati nel passare da un file all'altro,
permettendo così spostamenti di parte di testo tra file diversi. Naturalmente
possono anche essere utilizzati per cancellazioni e ripristini o per spostamenti
di parti di testo all'interno di uno stesso file.
|