Guida avanzata a Solaris

Apertura contemporanea di più file

vi permette di tenere aperti più file contemporaneamente. Ad esempio, per aprire e modificare il file montale mentre è già aperto il file prova, procedere come segue:

  1. Salvare il lavoro corrente in prova. Digitare :w e premere Return.

  2. Aprire montale digitando :n montale, quindi premere Return.

  3. Apportare le modifiche desiderate a montale e salvare il file.

  4. Dopo avere modificato e salvato il file montale, sono disponibili tre alternative:

    • Uscire da vi. Digitare :q e premere Return.

    • Tornare a prova. Digitare :n # e premere Return.

    • Lavorare alternatamente sui due file utilizzando il comando :n #.

Apertura di più file

Per aprire una serie di file, digitare vi seguito dai nomi dei file desiderati al prompt di sistema:

$ vi prova montale

I file vengono aperti nell'ordine in cui sono stati elencati. Nel caso dell'esempio verrà visualizzato per primo il file prova. Al termine del lavoro su prova, digitare :n per passare al file successivo, montale. Per passare al file successivo senza salvare le modifiche al file corrente, digitare :n! anziché :n.

Se i file da aprire hanno nomi simili (ad esempio, test1, test2, test3), è possibile specificarne i nomi utilizzando i caratteri speciali:

$ vi test*

I file verranno visualizzati in ordine alfabetico.

Copia di righe tra più file

Per copiare un gruppo di righe da un file in un altro, procedere come segue:

  1. Aprire il primo file.

  2. Salvare le righe desiderate in un buffer usando il comando yank. Ad esempio, per salvare 10 righe nel buffer a, digitare a10Y.

  3. Senza uscire da vi, passare al file successivo (montale in questo esempio):

    :n montale
    

  4. Inserire le righe copiate dal primo file con il comando put. Ad esempio, per inserire i contenuto del buffer a al di sotto della posizione corrente del cursore, digitare ap.

    Si ricordi che il contenuto dei buffer denominati vengono cancellati all'uscita da vi. È consigliabile perciò terminare le operazioni che comportano l'uso dei buffer prima di digitare il comando di uscita (:q).