[CHAT-QSO] [About] [Copertina] [Editoriale]

Articoli



vi - the ultimate editor

vi è un editor che è stato sviluppato all'Università di Berkeley da William Joy, quando esistevano praticamente solo terminali per le stampanti.

È stato pensato quindi, per essere usato sull'hardware del tempo, rimanendo efficiente e potente, pur usando un quantità minima di risorse.

L'impatto con 'vi' può spaventare l'utente, ma non è difficile imparare come lavora 'vi' e i suoi comandi base; anche se 'vi' non diventerà l'editor che userete tutti i giorni, non è una perdita di tempo impararne l'uso, visto che vi' è l'unico editor che potete trovare in ogni distribuzione UNIX/Linux; inoltre è l'unico editor che, data la sua compattezza, viene messo nei dischetti di recovery, dove lo spazio è limitato, quindi vi troverete sicuramente ad avere a che fare con 'vi'.

In ogni caso molte persone usano 'vi' anche per le cose di tutti i giorni, perch&eavute;, nonostante la sua apparenza spartana, 'vi' è dotato di moltissime funzionalità molto avanzate per un editor.

Piccolo tutorial

Per usare vi, basta invocare il comando 'vi' seguito dal nome del file che si vuole editare. Sulla sinistra dello schermo appariranno alcuni caratteri '~' e 'vi' sarà in modo comando. Questo significa che ogni cosa che scriverete sarà interpretata come un comando, quindi per inserire del testo dovete prima impartire il comando apposito:

i	inserisce il testo alla sinistra del cursore
a	appende il testo alla destra del cursore
A questo punto potete iniziare a inserire il testo come normalmente fate in qualunque editor. Per ritornare in modo comandi basta premere il tasto ESC. Per cancellare il testo potete usare principalmente questi due comandi:
x	cancella il carattere su cui è posizionato il cursore
dd	cancella l'intera riga
'vi' può ripetere i comandi per un numero n di volte, quindi una sintassi tipo 5dd, ripeterà il comando dd 5 volte, cancellando così 5 righe; lo stesso concetto può essere applicato agli altri comandi. Per salvare il file, bisogna essere in modo comando e digitare:
:w	salva il file
:q	esce
:q! 	esce senza salvare
:wq	salva e esce
Ecco questo è tutto ciò che vi basta sapere per poter muovervi all'interno di vi. Quello che avete visto fino adesso però è soltanto una minima parte dei comandi di vi, che ne ha in realtà, più di 150!

Di piu`!

Cerchiamo di capire come ci si può muovere all'interno di 'vi'. Nella maggior parte dei casi i tasti freccia dovrebbero permettervi di spostare il cursore dove volete, ma esistono molti altri modi per muoversi velocemente; non credo servano spiegazioni, ma soltanto una breve lista dei comandi a disposizione:
	h	muove il cursore a sinistra 
        j	muove il cursore in giù	         
        k	muove il cursore in su
        l      	muove il cursore a destra 
Alcune implementazioni permettono anche questi comandi:
 
        w          si sposta all'inizio della parola successiva
        e          si sposta alla fine della parola successiva
        b          si sposta all'inizio della parola precedente
        0          si sposta all'inizio della riga 
        ^          si sposta all'inizio della prima parola della riga corrente 
        $          si sposta alla fine della riga 
        -          si sposta all'inizio della riga precedente
        G          si sposta alla fine del file 
        1G         si sposta all'inizio del file 
        nG         si sposta alla riga numero n 
        <Cntl> G   visualizza il numero della riga corrente 
        n|         muove il cursore alla colonna n
Ora cerchiamo di fare qualcosa che un normale editor fa, cioè vediamo come 'vi' permette di modificare un testo. I comandi 'a' e 'i' che abbiamo già visto sono i più utilizzati per queste genere di operazione. Altri 4 comandi aggiungono altre funzionalità:
	A	appende il testo alla fine della riga
	I	inserisce il testo alla sinistra del primo carattere
		della riga che non sia uno spazio
	O	apre una riga sopra quella corrente
	o	apre una riga sotto quella corrente
'vi' è dotato anche di funzioni 'undo', che permettono, cioè, di ripristinare il testo prima delle ultime modifiche:
	u	ripristina le modifiche prima dell'ultimo comando
	U	ripristina la riga corrente da tutte le modifiche fatte
	:e!	cancella ogni modifica e carica di nuovo il file


E poi?

E poi basta per il momento; nel prossimo numero del PLUTO Journal vedremo come copiare e muovere il testo (yank & paste), cercare stringhe e sostituirle e come creare il proprio file di configurazione di vi (.exrc).

di Davide Barbieri


[CHAT-QSO] [About] [Copertina] [Editoriale]