Guida avanzata a Solaris

Le due modalità di vi

vi dispone di due modalità operative: la modalità inserimento, utilizzata per inserire un testo in un file, e la modalità comando, usata per inserire comandi che eseguono specifiche funzioni. La modalità di default è la modalità comando.

Poiché vi non indica la modalità corrente, la distinzione tra modalità inserimento e modalità comando causa spesso una certa confusione tra i nuovi utenti dell'editor. Per evitare di incorrere in uno "stress da vi", sarà sufficiente avere chiari sin dall'inizio alcuni concetti fondamentali.

Quando si apre un file in vi, l'editor è sempre in modalità comando. Per poter inserire un testo occorre prima digitare uno dei comandi che abilitano la modalità di inserimento, ad esempio i ("insert"), per inserire il testo nella posizione corrente del cursore, oppure a ("append"), per inserire il testo dopo la posizione corrente del cursore. (Questi ed altri comandi di vi verranno trattati in modo più approfondito nel resto del capitolo.)

Per tornare alla modalità di comando è sufficiente premere Esc. Se non si è certi della modalità corrente di vi, è possibile premere Esc per entrare in modalità comando e avere così un punto di riferimento sicuro. Se si preme Esc quando vi si trova già in modalità comando, il sistema emette un segnale acustico e lo schermo lampeggia, ma non si produce alcun danno.

Modalità inserimento

Per inserire un testo nel file prova, digitare il comando di inserimento i. vi esce dalla modalità comando ed entra in modalità inserimento.

Inserire ora alcune righe di testo terminando ogni riga con un Return. Come si può osservare, i caratteri digitati appaiono a sinistra del cursore e spingono i caratteri già presenti verso destra. Per il momento, se si commettono errori di battitura tornare indietro con il tasto Backspace e digitare nuovamente la riga prima di premere Return. Più avanti verrà spiegato come modificare il testo inserito.

Dopo avere inserito alcune righe, premere Esc per tornare alla modalità comando. Il cursore si sposterà sull'ultimo carattere inserito. A questo punto è possibile inserire altri comandi di vi.

Se vi sembra rispondere in modo strano, verificare che il tasto "Caps Lock" non sia premuto; l'attivazione di questo tasto fa apparire tutto il testo inserito in lettere maiuscole. In alcuni sistemi il tasto F1 (di norma posizionato vicino al tasto Esc) ha la stessa funzione del tasto Caps Lock. Si faccia attenzione, in questi casi, a non premere erroneamente questo tasto al posto di Esc.


Nota -

Talvolta può essere necessario azzerare o ridisegnare lo schermo, ad esempio per eliminare un messaggio del sistema. Per ridisegnare lo schermo, entrare in modalità comando e premere Ctrl-L. L'effetto di questo comando è analogo a quello dell'opzione "Ridisegna schermo" di OpenWindows.


Modalità comando

Quando si apre un file, vi si trova sempre in modalità comando. In questa modalità è possibile inserire una serie di comandi associati ad altrettante funzioni. Quasi tutti i comandi di vi consistono in una o due lettere, talvolta accompagnate da un numero opzionale. Di norma esistono due versioni dello stesso comando, una a lettere maiuscole e l'altra a lettere minuscole, che eseguono funzioni diverse ma correlate. Ad esempio, digitando una a minuscola il testo viene inserito a destra del cursore, mentre digitando una A maiuscola il testo viene inserito alla fine della riga.

In genere vi esegue i comandi direttamente, senza bisogno di premere Return. Un'eccezione è rappresentata dai comandi che iniziano con i due punti (:). In alcune guide di vi questi comandi vengono classificati come una terza modalità operativa, detta modalità ultima riga. Digitando due punti in modalità comando, infatti, i due punti e i caratteri inseriti successivamente appaiono sull'ultima riga dello schermo. Nell'ambito di questa descrizione, tuttavia, tutti i comandi di vi verranno considerati inseriti in modalità comando.

I comandi preceduti dai due punti sono in realtà comandi di ex. vi ed ex sono due interfacce separate dello stesso programma di trattamento testi, ma mentre vi è un'interfaccia "a schermo", ex è un'interfaccia "a linee". Tutti i comandi di ex sono disponibili anche in vi. In particolare, premendo il tasto dei due punti si passa direttamente all'interfaccia "a linee" ex. Questa speciale modalità consente di eseguire molte operazioni sui file senza bisogno di uscire da vi. Per maggiori informazioni, vedere "Comandi di ex" in questo capitolo.