Making Use of Buffers
You have seen that while you are editing, your last
deletion (d or x) or yank (y) is saved in a buffer (a place in stored
memory). You can access the contents of that buffer and put the saved
text back in your file with the put command (p or P).
The last nine deletions are stored by vi in numbered buffers. You can access any
of these numbered buffers to restore any (or all) of the last nine
deletions. (Small deletions, of only parts of lines, are not saved in
numbered buffers, however. These deletions can be recovered only by
using the p or P command immediately after you’ve made the
deletion.)
vi also allows you to place yanks (copied text) into buffers identified by letters. You can fill up to 26 (a–z) buffers with yanked text and restore that text with a put command at any time in your editing session.
Recovering Deletions
Being able to delete large blocks of text in a single bound is all very well and good, but what if you mistakenly delete 53 lines that you need? You can recover any of your past nine deletions, for they are saved in numbered buffers. The last delete is saved in buffer 1, the second-to-last in buffer 2, and so on.
To recover a deletion, type " (double quote), identify the buffered
text by number, then give the put command. To recover your
second-to-last deletion from buffer 2, type:
"2p
The deletion in buffer 2 is placed after the cursor.
If you’re not sure which buffer contains the deletion you want to restore, you don’t have to keep typing ...