10.3. Veloce guida per vi

Tutti i comandi in vi(1) sono preceduti dalla pressione del tasto escape. Ogni volta che si deve intraprendere un nuovo comando si deve utilizzare il tasto di escape. Diversamente da dove indicato, vi(1) è case sensitive (sensibile alla differenza minuscolo e maiuscolo).

Comandi movimento cursore:

(n) indica un numero ed è opzionale

(n)h(n) spazi a sinistra
(n)j(n) spazi giù
(n)k(n) spazi su
(n)l(n) spazi a destra

(Generalmente funzionano anche i tasti freccia)

Ctrl F avanti di una schermata
Ctrl B indietro di una schermata
Ctrl D giù di mezza schermata
Ctrl U su di mezza schermata

(Ctrl indica il tasto control; il case sensitive non è importante)

Hall'inizio della linea superiore della schermata
Mall'inizio della linea mediana della schermata
Lall'inizio dell'ultima linea della schermata
Gall'inizio dell'ultima linea del file
(n)Gall'inizio della linea (n)
0(zero) all'inizio della linea
$alla fine della linea
(n)wavanti (n) parole
(n)bindietro (n) parole
efine della parola

Inserimento testo:

iinserimento testo prima del cursore
aaggiunta testo dopo il cursore (non sovrascrive altro testo)
Iinserimento testo all'inizio della linea
Aaggiunta testo alla fine della linea
rsostituisce il carattere posto sotto il cursore con il prossimo carattere digitato
Rsovrascrive i caratteri fino alla fine della linea (o fino a quando il tasto escape viene digitato per cambiare comando)
o(alpha o) inserisce una nuova linea dopo la linea corrente per inserire del testo
O(alpha O) inserisce una nuova linea prima della linea corrente per inserire del testo

Cancellazione testo:

ddcancella la linea corrente
(n)ddcancella (n) linee
(n)dwcancella (n) parole
Dcancella dal cursore fino alla fine della linea
xcancella il carattere corrente
(n)xcancella (n) caratteri
Xcancella il carattere precedente

Comandi di modifica:

(n)ccmodifica (n) caratteri sulla linea fino alla fine della linea (o fino a quando viene digitato il tasto escape)
cwmodifica i caratteri di una parola fino alla fine della parola (o fino a quando viene digitato il tasto escape)
(n)cwmodifica i caratteri delle prossime (n) parole
c$modifica il testo alla fine della linea
ct(x)modifica il testo alla lettera (x)
Cmodifica il testo rimanente sulla linea corrente (fino a quando viene digitato il tasto escape)
~modifica il minuscolo/maiuscolo del carattere corrente
Junisce la linea corrente a quella successiva
uannulla l'ultimo comando realizzato sulla linea corrente
.ripete l'ultima modifica
ssostituisce il carattere corrente con il testo digitato
Ssostituisce la linea corrente con il testo digitato
:ssostituisce vecchie parole con nuove parole :<linee considerate> s/vecchio/nuovo/g
&ripete l'ultimo comando di sostituzione (:s)
(n)yy«strappa» (n) linee dal buffer
y(n)w«strappa» (n) parole dal buffer
pinserisce il testo eliminato o «strappato» dopo il cursore
Pinserisce il testo eliminato o «strappato» prima del cursore

Manipolazione file:

:w (file)scrive i cambiamenti nel file specificato (file corrente di default)
:wqscrive i cambiamenti nel file corrente e conclude la sessione di editing
:w! (file)sovrascrive il file (file corrente di default)
:qesce dalla sessione di editing se non sono stati creati cambiamenti
:q!esce dalla sessione di editing e scarta eventuali cambiamenti non salvati
:nedita il prossimo file nella lista dell'argomento
:f (nome)modifica il nome del file corrente in quello specificato
:r (file)legge il contenuto del file specificato all'interno del corrente editing e alla corrente posizione del cursore (inserisce un file)
:!(comando)escape di shell
:r!(comando)inserisce il risultato del comando di shell specificato nella posizione corrente
ZZscrive i cambiamenti nel file corrente ed esce

Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Per domande su FreeBSD, leggi la documentazione prima di contattare <questions@FreeBSD.org>.

Per domande su questa documentazione, invia una e-mail a <doc@FreeBSD.org>.