Once you have an item in the kill ring, you can paste it back into a buffer as many times as you like.
Ctrl+Y
to paste the text in the kill ring back into the buffer. In MS Windows emulation the key is
Ctrl+V
.Note that you must use the keyboard command if you wish to paste the item that is in the kill ring (as opposed to the item in the Common LispWorks clipboard).
With many editors you can only do this with one item at a time. The clipboard is only able to contain one item, and so it is the only one available for pasting back into the text.
However, the kill ring allows you to keep many items. Any of these items can be pasted back into your document at any time. Every time you cut or copy something, it is added to the kill ring, so you accumulate more items in the kill ring as your session progresses.
Consider the following example. In Kill ring with three items, the kill ring contains three items; the words
factorial
,
function
and
macro
respectively.
Figure 12.17 Kill ring with three items
First, the word
factorial
was cut from the current buffer (this would remove it from the buffer). Next, the word
function
was copied (which would leave it in the buffer but add a copy of it to the kill ring), and lastly, the word
macro
was cut.
Note the concept of the kill ring rotating (this is why it is known as a ring). Every time a new item is added (at the top, in these figures), the others are all shunted around in a counter-clockwise direction.
Whenever you perform a paste, the current item in the kill ring--the word
macro
in this case--is copied back into the buffer wherever the cursor currently is.
Note that the current item is not removed from the kill ring.
Figure 12.18 Pasting from the kill ring
What you have seen so far does exactly the same thing as the standard clipboard. True, all three items have been kept in the kill ring, but they are of no use if you cannot actually get at them.
The EMACS key to do this is
Alt+Y
or
Esc Y
. This rotates the kill ring in the opposite direction--thus making the previous item the current one--and pastes it into the buffer in place of the item just pasted. In Pasting from the kill ring, the word
macro
would be replaced with the word
function
.
You can use
Alt+Y
as many times as you like. For instance, if you actually wanted to paste the word
factorial
in the document, pressing
Alt+Y
would replace the word
function
with the word
factorial
.
Figure 12.19 Rotating the kill ring
If you pressed
Alt+Y
a third time, the kill ring would have rotated completely, and
macro
would have been the current item once again.
Note:
You can never use
Alt+Y
without having used
Ctrl+Y
immediately beforehand.
Here is a summary of the way
Ctrl+Y
and
Alt+Y
work:
Ctrl+Y
pastes the current item in the kill ring into the buffer.
Alt+Y
rotates the kill ring back one place, and then pastes the current item into the buffer, replacing the previously pasted item.