9.5.2 Appending Kills
Normally, each kill command pushes a new block onto the kill ring.
However, two or more kill commands in a row combine their text into a
single entry, so that a single `C-y' yanks it all back. This means you
don't have to kill all the text you want to yank in one command; you
can kill line after line, or word after word, until you have killed what
you want, then get it all back at once using `C-y'. (Thus we join
television in leading people to kill thoughtlessly.)
Commands that kill forward from point add onto the end of the
previous killed text. Commands that kill backward from point add onto
the beginning. This way, any sequence of mixed forward and backward
kill commands puts all the killed text into one entry without
rearrangement. Numeric arguments do not break the sequence of
appending kills. For example, suppose the buffer contains:
This is the first
line of sample text
and here is the third.
with point at the beginning of the second line. If you type `C-k C-u 2
M-<DEL> C-k', the first `C-k' kills the text `line of sample text',
`C-u 2 M-<DEL>' kills `the first' with the newline that followed it,
and the second `C-k' kills the newline after the second line. The
result is that the buffer contains `This is and here is the third.' and
a single kill entry contains `the first<RET>line of sample
text<RET>'--all the killed text, in its original order.
If a kill command is separated from the last kill command by other
commands (not just numeric arguments), it starts a new entry on the kill
ring. To force a kill command to append, first type the command `C-M-w'
(`append-next-kill'). `C-M-w' tells the following command, if it is a
kill command, to append the text it kills to the last killed text,
instead of starting a new entry. With `C-M-w', you can kill several
separated pieces of text and accumulate them to be yanked back in one
automatically generated by info2www version 126.96.36.199