Comandi di vi
Allo scopo di imparare i comandi 'vi', occorre provarli.
Si consiglia di produrre un file su cui esercitarsi, p.es. come segue:
man bash > bash1.txt
vi bash1.txt
Comandi di inserimento
a
- dopo il carattere correntei
- prima del carattere correnteA
- a fine lineaI
- a inizio linea, prima del primo carattere significativoo
- in una nuova linea sottoO
- in una nuova linea sopra
Comandi di movimento semplice
I comandi di movimento sono molto importanti.
Tramite i comandi di movimento si compiono le operazioni di cut, copy e paste.
Comandi di movimento avanzato
Non sono indispensabili di primo acchito ma:
- risparmiano il numero di tasti digitati
- sono ideali per l'inserimento in macro
Comandi di salvataggio
I comandi di salvataggio sono per la maggior parte dei comandi ex
. Quando si digitano i due punti come comando, sientra in modalità ex:
- l'ultima linea del video contiene il comando
- sono possibili comandi anche lunghi terminati da Invio
- per eventualmente interrompere il comando, battere Esc
Comandi di salvataggio avanzato
Sono derivati dall'editor ex
. Quando si preme :
in modalità comando, si apre l'ultima linea dello schermo ed è possibile editare un comando esteso.
:w file
- salva tutto il file corrente con altro nome:1,5w file
- salva da riga 1 a 5:1,.w file
- salva da riga 1 a riga corrente:.,+5w file
- salva da riga corrente fino a 5 righe dopo:.,’aw file
- salva da riga corrente a riga marcata con a:r file
- inserisci file esterno dopo riga corrente
Operazioni sui file
Vi non sta editando il file vero, ma una sua copia. In caso di crash di sistema, al boot successivo è di solito possibile recuperare la precedente sessione di editazione del file temporaneo.
Il 'save' è in realtà un commit. tutti i cambiamenti effettuati vengono finalizzati nel file vero. Tutti i buffer di undo vengono azzerati.
Il salvare con altro nome è un'operazione diversa da altri editor: dopo tale operazione non abbiamo cambiato il nome del file corrente, ma prodotto uno snapshot sul file indicato. Stiamo ancora lavorando sul file originale.