Comandi principali di VI
vi è il programma standard per la modifica di files di testo per UNIX ed essere in grado di usarlo è essenziale per gli amministratori di sistema.
Esistono svariate versioni (o cloni) di vi disponibili: ad esempio,sui sistemi Gnu/Linux, vi e' in realta' l'editor vim, avviabile digitando vi in quanto collegamento simbolico al reale eseguibile.
L'editor puo' lavorare in 3 differenti modalita':
- Modalita' comando visuale
- Modalita' riga di comando
- Modalita' testo
Appena avviato vi ci si trova subito in modalita' comando visuale. In questa modalita' e' possibile utilizzare 4 comandi speciali per individuare parole nel testo o per passare a comandi piu' complessi:
- / ricerca in avanti
- ? ricerca inversa
- n prosegui la ricerca nella direzione in cui e' stata fatta l'ultima
- : comandi ex (ex e' l'editor di linea di vi)
Nella modalita' comando, tutto quello che viene digitato viene interpretato dall'editor come comando e non come testo da aggiungere al file.
Digitando i due punti (:), il cursore si spostera' sull'ultima riga dello schermo in attesa che digitiate un comando e premiate INVIO per eseguirlo.
Per inserire testo nel file, e' necessario digitare uno dei comandi necessari al passaggio in modalita' testo:
- i inserisce il testo prima del cursore
- a inserisce il testo dopo il cursore
- I inserisce il testo all'inizio della linea corrente
- A inserisce il testo alla fine della linea corrente
Digitato uno di questi comandi, l'editor passera' quindi in modalita' testo e tutto quello digitato sulla tastiera verra' interpretato come testo, aggiunto al buffer e visualizzato sullo schermo.
Per uscire dalla modalita' testo e' sufficiente premere il tasto Escape (ESC).
Ecco un prospetto dei comandi principali
Spostarsi all'interno di un file
Comando | Funzione |
j | Sposta il cursore alla riga successiva |
k | Sposta il cursore alla riga precedente |
h | Sposta il cursore di un carattere a sinistra |
l | Sposta il cursore di un carattere a destra |
CTRL+f | Sposta il cursore alla pagina successiva |
CTRL+b | sposta il cursore alla pagina precedente |
Cancellare testo
Comando | Funzione |
D | Cancella dal cursore alla fine della riga |
dd | Cancella la riga sulla quale si trova il cursore |
x | Cancella il carattere sotto il cursore |
Spostare testo
L'operazione di spostamento del testo all'interno di un file richiede i seguenti passaggi:
- Posizionare il cursore all'inizio della prima riga del blocco di testo da spostare o copiare.
- Digitare ma per contrassegnare la posizione con la lettera a
- Posizionare il cursore all'inizio dell'ultima riga del blocco di testo da spostare o copiare
- Digitare mb per contrassegnare la posizione con la lettera b.
- Posizionare il cursore all'inizio della prima riga prima della quale si desidera inserire il blocco di testo
- Digitare 'a,bm. se si desidera spostare il blocco oppure 'a,bt. se si desidera copiarlo. Importanti la virgoletta all'inizio del comando e il punto alla fine.
Altri comandi basilari
Comando | Funzione |
a | Inserisce il testo dopo il cursore |
A | Inserisce il testo alla fine della riga corrente |
l | Inserisce il testo all'inizio della riga corrente |
i | Inserisce il testo prima del cursore |
o | Inserisce una riga vuota sotto la riga corrente |
O | Inserisce una riga vuota sotto la riga corrente |
C | Modifica fino alla fine della riga corrente |
cc | Modifica la riga corrente |
cw | Modifica la parola |
J | Unisce la riga corrente con la successiva |
rx | Sostituisce il carattere sotto il cursore con x |
~ | Cambia il carattere sotto il cursore da maiuscolo a minuscolo e viceversa |
$ | Sposta il cursore alla fine della riga corrente |
^ | Sposta il cursore all'inizio della riga corrente |
mx | Contrassegna la posizione corrente del cursore con la lettera x |
CTRL+l | Ridisegna lo schermo |
:e nome-file | Apre il file nome-file |
:q | Esce dall'editor |
:q! | Esce dall'editor senza salvare le modifiche |
:r nome-file | Legge il file nome-file e lo inserisce dopo la linea corrente |
:w nome-file | Salva il buffer nel file nome-file |
:wq | Salva le modifiche ed esce dall'editor |
/stringa | Cerca l'occorrenza successiva della stringa |
?stringa | Cerca l'occorrenza precedente della stringa |
n | Prosegue con l'operazione di ricerca precedente |
u | Annulla l'ultimo comando |
ESC | Passa dalla modalita' testo alla modalita' comando visuale |