next up previous

Next:Comandi operativi Up: Tutorial sull'editor VI Previous:Tutorial sull'editor VI

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.