Utilizzare i buffer in vi

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

Privacy Policy