-\1f
-File: xemacs.info, Node: Killing, Next: Yanking, Prev: Additional Mouse Operations, Up: Top
-
-Deletion and Killing
-====================
-
- Most commands that erase text from the buffer save it. You can get
-the text back if you change your mind, or you can move or copy it to
-other parts of the buffer. Commands which erase text and save it in the
-kill ring are known as "kill" commands. Some other commands erase text
-but do not save it; they are known as "delete" commands. (This
-distinction is made only for erasing text in the buffer.)
-
- The commands' names and individual descriptions use the words `kill'
-and `delete' to indicate what they do. If you perform a kill or delete
-command by mistake, use the `C-x u' (`undo') command to undo it (*note
-Undo::). The delete commands include `C-d' (`delete-char') and <DEL>
-(`delete-backward-char'), which delete only one character at a time,
-and those commands that delete only spaces or newlines. Commands that
-can destroy significant amounts of nontrivial data usually kill.
-
-Deletion
---------
-
-`C-d'
- Delete next character (`delete-char').
-
-`<DEL>'
- Delete previous character (`delete-backward-char').
-
-`M-\'
- Delete spaces and tabs around point (`delete-horizontal-space').
-
-`M-<SPC>'
- Delete spaces and tabs around point, leaving one space
- (`just-one-space').
-
-`C-x C-o'
- Delete blank lines around the current line (`delete-blank-lines').
-
-`M-^'
- Join two lines by deleting the intervening newline, and any
- indentation following it (`delete-indentation').
-
- The most basic delete commands are `C-d' (`delete-char') and <DEL>
-(`delete-backward-char'). `C-d' deletes the character after point, the
-one the cursor is "on top of". Point doesn't move. <DEL> deletes the
-character before the cursor, and moves point back. You can delete
-newlines like any other characters in the buffer; deleting a newline
-joins two lines. Actually, `C-d' and <DEL> aren't always delete
-commands; if you give them an argument, they kill instead, since they
-can erase more than one character this way.
-
- The other delete commands delete only formatting characters: spaces,
-tabs and newlines. `M-\' (`delete-horizontal-space') deletes all
-spaces and tab characters before and after point. `M-<SPC>'
-(`just-one-space') does the same but leaves a single space after point,
-regardless of the number of spaces that existed previously (even zero).
-
- `C-x C-o' (`delete-blank-lines') deletes all blank lines after the
-current line. If the current line is blank, it deletes all blank lines
-preceding the current line as well as leaving one blank line, the
-current line. `M-^' (`delete-indentation') joins the current line and
-the previous line, or, if given an argument, joins the current line and
-the next line by deleting a newline and all surrounding spaces, possibly
-leaving a single space. *Note M-^: Indentation.
-
-Killing by Lines
-----------------
-
-`C-k'
- Kill rest of line or one or more lines (`kill-line').
-
- The simplest kill command is `C-k'. If given at the beginning of a
-line, it kills all the text on the line, leaving the line blank. If
-given on a blank line, the blank line disappears. As a consequence, a
-line disappears completely if you go to the front of a non-blank line
-and type `C-k' twice.
-
- More generally, `C-k' kills from point up to the end of the line,
-unless it is at the end of a line. In that case, it kills the newline
-following the line, thus merging the next line into the current one.
-Emacs ignores invisible spaces and tabs at the end of the line when
-deciding which case applies: if point appears to be at the end of the
-line, you can be sure the newline will be killed.
-
- If you give `C-k' a positive argument, it kills that many lines and
-the newlines that follow them (however, text on the current line before
-point is not killed). With a negative argument, `C-k' kills back to a
-number of line beginnings. An argument of -2 means kill back to the
-second line beginning. If point is at the beginning of a line, that
-line beginning doesn't count, so `C-u - 2 C-k' with point at the front
-of a line kills the two previous lines.
-
- `C-k' with an argument of zero kills all the text before point on the
-current line.
-
-Other Kill Commands
--------------------
-
-`C-w'
- Kill region (from point to the mark) (`kill-region'). *Note
- Words::.
-
-`M-d'
- Kill word (`kill-word').
-
-`M-<DEL>'
- Kill word backwards (`backward-kill-word').
-
-`C-x <DEL>'
- Kill back to beginning of sentence (`backward-kill-sentence').
- *Note Sentences::.
-
-`M-k'
- Kill to end of sentence (`kill-sentence').
-
-`C-M-k'
- Kill sexp (`kill-sexp'). *Note Lists::.
-
-`M-z CHAR'
- Kill up to next occurrence of CHAR (`zap-to-char').
-
- `C-w' (`kill-region') is a very general kill command; it kills
-everything between point and the mark. You can use this command to kill
-any contiguous sequence of characters by first setting the mark at one
-end of a sequence of characters, then going to the other end and typing
-`C-w'.
-
- A convenient way of killing is combined with searching: `M-z'
-(`zap-to-char') reads a character and kills from point up to (but not
-including) the next occurrence of that character in the buffer. If
-there is no next occurrence, killing goes to the end of the buffer. A
-numeric argument acts as a repeat count. A negative argument means to
-search backward and kill text before point.
-
- Other syntactic units can be killed: words, with `M-<DEL>' and `M-d'
-(*note Words::); sexps, with `C-M-k' (*note Lists::); and sentences,
-with `C-x <DEL>' and `M-k' (*note Sentences::).
-
-\1f
-File: xemacs.info, Node: Yanking, Next: Using X Selections, Prev: Killing, Up: Top
-
-Yanking
-=======
-
- "Yanking" means getting back text which was killed. Some systems
-call this "pasting". The usual way to move or copy text is to kill it
-and then yank it one or more times.
-
-`C-y'
- Yank last killed text (`yank').
-
-`M-y'
- Replace re-inserted killed text with the previously killed text
- (`yank-pop').
-
-`M-w'
- Save region as last killed text without actually killing it
- (`copy-region-as-kill').
-
-`C-M-w'
- Append next kill to last batch of killed text (`append-next-kill').
-
-* Menu:
-
-* Kill Ring:: Where killed text is stored. Basic yanking.
-* Appending Kills:: Several kills in a row all yank together.
-* Earlier Kills:: Yanking something killed some time ago.
-
-\1f
-File: xemacs.info, Node: Kill Ring, Next: Appending Kills, Prev: Yanking, Up: Yanking
-
-The Kill Ring
--------------
-
- All killed text is recorded in the "kill ring", a list of blocks of
-text that have been killed. There is only one kill ring, used in all
-buffers, so you can kill text in one buffer and yank it in another
-buffer. This is the usual way to move text from one file to another.
-(*Note Accumulating Text::, for some other ways.)
-
- If you have two separate Emacs processes, you cannot use the kill
-ring to move text. If you are using XEmacs under X, however, you can
-use the X selection mechanism to move text from one to another.
-
- If you are using XEmacs under X and have one Emacs process with
-multiple frames, they do share the same kill ring. You can kill or
-copy text in one Emacs frame, then yank it in the other frame belonging
-to the same process.
-
- The command `C-y' (`yank') reinserts the text of the most recent
-kill. It leaves the cursor at the end of the text and sets the mark at
-the beginning of the text. *Note Mark::.
-
- `C-u C-y' yanks the text, leaves the cursor in front of the text,
-and sets the mark after it, if the argument is with just a `C-u'. Any
-other argument, including `C-u' and digits, has different results,
-described below, under "Yanking Earlier Kills".
-
- To copy a block of text, you can also use `M-w'
-(`copy-region-as-kill'), which copies the region into the kill ring
-without removing it from the buffer. `M-w' is similar to `C-w' followed
-by `C-y' but does not mark the buffer as "modified" and does not
-actually cut anything.
-