Guida avanzata a Solaris

Termine di una sessione

Quando si modifica un file in vi, in un primo momento le modifiche non vengono apportate direttamente al file, bensì a una copia del file che vi crea in uno spazio di memoria temporaneo detto buffer. La copia permanente del file sul disco viene modificata solo al momento della scrittura (salvataggio) del contenuto del buffer.

Questa procedura presenta alcuni aspetti positivi e alcuni negativi. Da un lato permette di uscire da un file e abbandonare le modifiche effettuate durante una sessione lasciando intatta la copia sul disco. Dall'altro lato vi è il rischio di perdere il contenuto del buffer (non salvato) in caso di crash del sistema. (Gli utenti collegati a terminali remoti tramite linea telefonica sono particolarmente soggetti a questo tipo di interruzioni.)

Il metodo migliore consiste nel salvare il lavoro frequentemente, soprattutto quando vengono effettuate modifiche di una certa consistenza.


Avvertenza - Avvertenza -

vi permette di tenere aperte più copie di uno stesso file simultaneamente. Si consiglia tuttavia di limitare il più possibile l'uso di questa funzione, che potrebbe creare confusione tra le modifiche apportate al file corrente e quelle inserite in una sessione simultanea.


Salvataggio delle modifiche e uscita da vi

vi dispone di diversi comandi per il salvataggio del contenuto del buffer e l'uscita dall'editor. Questi comandi offrono la possibilità di salvare il file, salvare e uscire oppure uscire senza salvare.

Salvataggio

Per salvare il contenuto del buffer (cioè scrivere il contenuto del buffer nel file sul disco) digitare:

:w

seguito da Return.

Salvataggio e uscita

Per salvare e uscire dall'editor, digitare:

:wq

seguito da Return. Oppure, digitare ZZ.

Si noti che il comando ZZ non è preceduto dai due punti e non deve essere seguito da Return.

Uscita senza salvataggio

Se il file non è stato modificato e si desidera semplicemente uscire, digitare:

:q

seguito da Return. Se il file è stato modificato, vi non permetterà di uscire con :q. Verrà visualizzato il messaggio Le ultime modifiche non sono state salvate (:quit! per ignorare).

Se non si desidera salvare le modifiche, digitare:

:q!

seguito da Return.