3.4. L'editor vi

Gli editori di testo sono ancora utilizzati per più task di amministrazione del sistema nonché per la programmazione. In ambiente Unix, vi è un editor in grado di offrire pratiche funzioni di editing e risulta più ergonomico di molti editor che utilizzano il mouse.

3.4.1. Modalità operative

[Note]Visualizzazione dei tasti

Di seguito, vengono illustrati diversi comandi che è possibile digitare in vi solo premendo un tasto. Vengono visualizzati in maiuscolo come su una tastiera. Se è necessario digitare un tasto in maiuscolo, questo viene ribadito in maniera esplicita visualizzando una combinazione di tasti che include il tasto Shift.

In genere, vi utilizza tre modalità operative: modalità di inserimento, modalità di comando e modalità estesa. I tasti hanno funzioni diverse a seconda della modalità. All'avvio, vi è impostato in genere sulla modalità di comando. È necessario conoscere innanzitutto come passare da una modalità all'altra:

Dalla modalità di commando alla modalità di inserimento

Esistono diverse possibilità, tra cui A per l'aggiunta, I per l'inserimento oppure O per una nuova riga sotto la riga corrente.

Dalla modalità di inserimento alla modalità di comando

Premere Esc per uscire dalla modalità di inserimento. Non è possibile chiudere vi nella modalità di inserimento, perciò è importante utilizzare il tasto Esc.

Dalla modalità di commando alla modalità estesa

Per attivare la modalità estesa di vi, immettere due punti (:). La modalità estesa o es è simile a un editor indipendente basato sulle righe che si può utilizzare per vari task semplici e più complessi.

Dalla modalità estesa alla modalità di comando

Dopo aver eseguito un comando nella modalità estesa, l'editor torna automaticamente alla modalità di comando. Nel caso si decida di non eseguire un qualsiasi comando nella modalità estesa, cancellare i due punti con <—. L'editor torna alla modalità di comando.

Non è possibile passare direttamente dalla modalità di inserimento alla modalità estesa senza prima passare alla modalità di comando.

Come gli altri editor, vi termina il programma secondo una procedura propria. Non è possibile terminare vi quando si trova in modalità di inserimento. Innanzitutto, per uscire dalla modalità di inserimento, premere Esc. Quindi, sono disponibili due opzioni:

  1. Exit without saving (Uscire senza salvare): Per chiudere l'editor senza salvare le modifiche, digitare : Q ! in modalità di comando. Il punto esclamativo (!) consente di ignorare qualsiasi modifica.

  2. Save and exit (Salvare e uscire): Sono disponibili diverse possibilità per salvare le modifiche e chiudere l'editor. Nella modalità di comando, scegliere Shift-Z-Shift-Z. Per uscire dal programma e salvare tutte le modifiche utilizzando la modalità estesa, digitare : W Q. Nella modalità estesa, w indica la scrittura mentre q indica l'uscita.

3.4.2. Funzionamento di vi

vi può essere utilizzato come un normale editor. Nella modalità di inserimento, per immettere il testo e cancellarlo utilizzare i tasti <— e Canc. Utilizzare i tasti freccia per spostare il cursore.

Questi tasti di controllo, tuttavia, spesso causano dei problemi poiché esistono diversi tipi di terminali che utilizzano codici di tasti speciali. A questo punto viene utilizzata la modalità di comando. Premere Esc per passare dalla modalità di inserimento alla modalità di comando. Nella modalità di comando, spostare il cursore con H, J, K, e L. Questi tasti includono le seguenti funzioni:

H

Sposta un carattere a sinistra.

J

Sposta una riga in basso.

K

Sposta una riga in alto.

L

Sposta un carattere a destra.

I comandi nella modalità di comando consentono diverse variazioni. Per eseguire un comando diverse volte, è sufficiente immettere il numero di ripetizioni prima del comando stesso. Ad esempio, immettere 5 L per spostare il cursore di cinque caratteri a destra.

Nell'elenco della Tabella 3.1, "Comandi semplici dell'editor vi", non ancora completo, viene mostrata una selezione di comandi importanti. Per elenchi più completi, consultare la documentazione nella Sezione 3.4.3, "Ulteriori informazioni"

Tabella 3.1. Comandi semplici dell'editor vi

Esc

Change to command mode (Passa alla modalità di comando).

I

Passa alla modalità di inserimento (i caratteri vengono visualizzati nella posizione del cursore attuale).

A

Passa alla modalità di inserimento (i caratteri vengono inseriti dopo la posizione del cursore attuale).

Shift-A

Passa alla modalità di inserimento (i caratteri vengono aggiunti alla fine della riga).

Shift-R

Passa alla modalità di sostituzione (sovrascrive il testo precedente).

R

Sostituisce il carattere sotto il cursore.

O

Passa alla modalità di inserimento (una nuova riga viene inserita dopo quella attuale).

Shift-O

Passa alla modalità di inserimento (una nuova riga viene inserita prima di quella attuale).

X

Cancella il carattere attuale.

D D

Cancella la riga attuale.

D W

Cancella fino alla fine della parola attuale.

C W

Passa alla modalità di inserimento (il resto della parola attuale viene sovrascritto dalle voci successive digitate).

U

Annulla l'ultimo comando.

Ctrl-R

Ripete la modifica annullata.

Shift-J

Unisce la riga seguente con quella attuale.

.

Ripete l'ultimo comando.

3.4.3. Ulteriori informazioni

vi supporta un'ampia serie di comandi. Consente l'utilizzo di macro, scorciatoie, buffer denominati e molte altre utili funzioni. Una descrizione più dettagliata delle varie opzioni non rientra nello scopo del presente manuale. Con SUSE Linux è fornito vim (vi improved), una versione migliorata di vi. Per questa applicazione sono disponibili diverse fonti di informazioni:

[Important]Licenza di VIM

vim è un "charityware," ossia gli autori non vengono retribuiti per il software ma promuovono il supporto di un progetto senza fini di lucro con un contributo in denaro. Questo progetto chiede aiuto per i bambini poveri dell'Uganda. Per ulteriori informazioni, visitare il sito http://iccf-holland.org/index.html, http://www.vim.org/iccf/ e http://www.iccf.nl/.