Taglia e Incolla
Comandi con prefisso
Permettono di compiere le operazioni di cut, copy e change.
Hanno la struttura:
prefisso [ripetizioni] comando_di_movimento
I prefissi sono
d- delete - cancellazioney- yank - copiac- change - cambiamento
L'operazione si estende dal carattere corrente a quello raggiunto col comando di movimento:
- Il numero di ripetizioni si riferisce al comando di movimento
- Il materiale cancellato, copiato o cambiato viene conservato nel buffer senza nome (ci saranno poi anche i buffers con nome)
- E' poi possibile il paste coi comandi
poP
- E' poi possibile il paste coi comandi
- Il comando
u(undo) disfa la cancellazione, copia o cambiamento- in vim l'undo è multilivello
Cut (delete)
d + movimento

Esempi:
dwcancella fino a inizio parola successivadecancella fino a fine parolad^cancella fino a inizio rigad$cancella fino a fine rigad’acancella fino a riga marcata con ad3+cancella fino a tre righe dopodGcancella fino a fine fileddcancella intera riga- comando unico equivalente a
d0d$e cancella anche il newline finale
- comando unico equivalente a
Ammettono ripetitori, p.es.:
10dw10 voltedw(comed10w)5dd5 voltedd(anched5d)
Paste (put)

Semplicemente posizionarsi alla destinazione desiderata e premere:
pdal buffer a dopo il carattere o la linea correntePdal buffer a prima del carattere o della linea corrente
Se sono state tagliate/copiate delle linee, queste verranno incollate dopo/prima la linea corrente del cursore.
Se sono stati tagliati/copiati dei caratteri, questi verranno incollati dopo/prima il carattere corrente.
Copy (yank)
Ha esattamente la stessa sintassi del comando d di cancellazione. Il materiale indicato viene copiato nel buffer senza nome e non viene cancellato dal file.
y + movimento

Esempi:
ywcopia fino a inizio parola successivayecopia fino a fine parolay^copia fino a inizio rigay$copia fino a fine rigay’acopia fino a riga marcata con ay3+copia fino a tre righe dopoyGcopia fino a fine fileyycopia intera riga- comando unico equivalente a
y0y$e copia anche il newline finale
- comando unico equivalente a
Ammettono ripetitori:
10yw10 volte yw (come y10w)5yy5 volte yy (anche y5y)
Modifica (change)
c + movimento + versione nuova + Escape
Dopo il c + movimemto la versione precedente scompare e si entra in modalità inserimento.
Digitare la nuova versione e premere Escape: il cambiamento è finalizzato.
Il cambiamento viene considerato una singola operazione, viene ricordato, ed è possibile ripeterlo.

. (punto) ripeti ultimo cambiamento o cancellazione
Cancellazione o modifica avanzate
Consentono risparmio di battiture.
xcancella singolo carattere correnteDcancella fino a fine riga (=d$)Ccambia fino a fine riga (=c$)Ycopia fino a fine riga (=y$)rcrimpiazza carattere corrente con il caratterec- p.es.
rxrimpiazza il carattere corrente con unax
- p.es.
Rentra in modalità “replace”: ogni carattere successivo sostituisce il carattere corrente. Terminare con Escape.~Cambia carattere corrente da maiuscolo a minuscolo o viceversa e avanza a carattere successivo
Buffers con nome
Vi sono 26 altri buffer disponibili oltre quello senza nome.
- Nomi dalla
aallaz - Preceduti da
"(doppio apice) - Prima di comandi delete, yank, change, put

Esempi:
”adw- cancella parola a buffera”zy’c- copia da qui a linea marcata conce poni nel bufferz”zp- paste dal bufferz
E' praticamente impossibile che qualcuno si ricordi 26 buffers simultaneamente. Di solito ne vengono usati uno o due. Non devono necessariamente essere usati in ordine alfabetico.