Vi offre la possibilità di utilizzare una serie di buffer per memorizzare parti di testo.
Chiunque abbia un po di dimestichezza con vi, sa che copiando una riga con l'istruzione yy
questa viene memorizzata in un buffer di default. Non tutti sanno invece che vi non possiede soltanto il buffer di default ma altri 26 buffer ognuno dei quali è associato ad una lettera dell'alfabeto. Per utilizzare il buffer associato alla lettera 'a', per esempio, dobbiamo riferirci ad esso con il comando "a
:
"ayy
copia la linea corrente nel buffer a
"ap
incolla il contenuto del buffer a sotto la riga corrente
"a4yy
copia 4 linee, a partire da quella corrente, nel buffer a
"a2p
incolla 2 copie del buffer a sotto la riga corrente
"add
cancella la riga corrente e la copia nel buffer a
Se ci riferiamo ad un buffer con la lettera minuscola il contenuto del buffer viene sostituito mentre se ci riferiamo ad un buffer con la lettera maiuscola il contenuto viene aggiunto a quello già presente nel buffer:
"Ayy
aggiunge la riga corrente al buffer a
"A3dd
cancella 3 righe, a partire da quella corrente, e le aggiunge al buffer a
Il contenuto dei buffer viene mantenuto anche quando passiamo da un file all'altro in una stessa sessione di vi con i comandi ex
:
vi [file1]
edita il file1
"b4yy
copia 4 linee nel buffer a
:e [file2]
passa a editare il file2
"ap
copia le 4 linee del file1 nel file2
Introduzione all'uso di VI. I comandi, i trucchi, il criptico mondo di VI.