@c This is part of the Emacs manual.
@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
-@c 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+@c 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Killing, Yanking, Mark, Top
* Killing by Lines:: How to kill entire lines of text at one time.
* Other Kill Commands:: Commands to kill large regions of text and
syntactic units such as words and sentences.
-* Graphical Kill:: The kill ring on graphical terminals:
+* Graphical Kill:: The kill ring on graphical displays:
yanking between applications.
@end menu
@table @kbd
@item C-d
-@itemx @key{Delete}
+@itemx @key{DELETE}
Delete next character (@code{delete-char}). If your keyboard has a
-@key{Delete} function key (usually located in the edit keypad), Emacs
+@key{DELETE} function key (usually located in the edit keypad), Emacs
binds it to @code{delete-char} as well.
@item @key{DEL}
@itemx @key{BS}
-Delete previous character (@code{delete-backward-char}). Some keyboards
-refer to this key as a ``backspace key'' and label it with a left arrow.
+Delete previous character (@code{delete-backward-char}).
@item M-\
Delete spaces and tabs around point (@code{delete-horizontal-space}).
@item M-@key{SPC}
@kindex BACKSPACE
@kindex BS
@kindex DELETE
- Every keyboard has a large key, labeled @key{DEL}, @key{BACKSPACE},
-@key{BS} or @key{DELETE}, which is a short distance above the
+ Every keyboard has a large key which is a short distance above the
@key{RET} or @key{ENTER} key and is normally used for erasing what you
-have typed. Regardless of the actual name on the key, in Emacs it is
-equivalent to @key{DEL}---or it should be.
+have typed. It may be labeled @key{DEL}, @key{BACKSPACE}, @key{BS},
+@key{DELETE}, or even with a left arrow. Regardless of the label on
+the key, in Emacs it called @key{DEL}, and it should delete one
+character backwards.
Many keyboards (including standard PC keyboards) have a
@key{BACKSPACE} key a short ways above @key{RET} or @key{ENTER}, and a
should be.
Why do we say ``or it should be''? When Emacs starts up using a
-window system, it determines automatically which key or keys should be
+graphical display, it determines automatically which key or keys should be
equivalent to @key{DEL}. As a result, @key{BACKSPACE} and/or @key{DELETE}
keys normally do the right things. But in some unusual cases Emacs
gets the wrong information from the system. If these keys don't do
@table @kbd
@item C-k
Kill rest of line or one or more lines (@code{kill-line}).
+@item C-S-backspace
+Kill an entire line at once (@code{kill-whole-line})
@end table
@kindex C-k
the very beginning of a line kills the entire line including the
following newline. This variable is normally @code{nil}.
+@kindex C-S-backspace
+@findex kill-whole-line
+ @kbd{C-S-backspace} (@code{kill-whole-line}) will kill a whole line
+including its newline regardless of the position of point within the
+line. Note that many character terminals will prevent you from typing
+the key sequence @kbd{C-S-backspace}.
+
@node Other Kill Commands
@subsection Other Kill Commands
@findex kill-region
@kbd{M-k} (@pxref{Sentences}).@refill
@node Graphical Kill
-@subsection Killing on Graphical Terminals
+@subsection Killing on Graphical Displays
- On multi-window terminals, the most recent kill done in Emacs is
-also the primary selection, if it is more recent than any selection
-you made in another program. This means that the paste commands of
-other applications with separate windows copy the text that you killed
-in Emacs. In addition, Emacs yank commands treat other applications'
-selections as part of the kill ring, so you can yank them into Emacs.
+ On graphical displays with window systems, the most recent kill done
+in Emacs is also the primary selection, if it is more recent than any
+selection you made in another program. This means that the paste
+commands of other window-based applications copy the text that you
+killed in Emacs. In addition, Emacs yank commands treat other
+applications' selections as part of the kill ring, so you can yank
+them into Emacs.
@cindex Delete Selection mode
@cindex mode, Delete Selection
@findex delete-selection-mode
- Many window systems follow the convention that insertion while text
+ Many graphical applications follow the convention that insertion while text
is selected deletes the selected text. You can make Emacs behave this
-way by enabling Delete Selection mode, with @kbd{M-x
-delete-selection-mode}, or using Custom. Another effect of this mode
+way by enabling Delete Selection mode---with @kbd{M-x
+delete-selection-mode} or using Custom. Another effect of this mode
is that @key{DEL}, @kbd{C-d} and some other keys, when a selection
exists, will kill the whole selection. It also enables Transient Mark
mode (@pxref{Transient Mark}).
Append next kill to last batch of killed text (@code{append-next-kill}).
@end table
- On window systems, if there is a current selection in some other
-application, and you selected it more recently than you killed any
-text in Emacs, @kbd{C-y} copies the selection instead of text
-killed within Emacs.
+ On graphical displays with window systems, if there is a current
+selection in some other application, and you selected it more recently
+than you killed any text in Emacs, @kbd{C-y} copies the selection
+instead of text killed within Emacs.
@menu
* Kill Ring:: Where killed text is stored. Basic yanking.
commands are useful with text in multicolumn formats, and for changing
text into or out of such formats.
+@cindex mark rectangle
When you must specify a rectangle for a command to work on, you do it
by putting the mark at one corner and point at the opposite corner. The
rectangle thus specified is called the @dfn{region-rectangle} because
rectangle is not stored in the kill ring, but in a special place that
can only record the most recent rectangle killed. This is because yanking
a rectangle is so different from yanking linear text that different yank
-commands have to be used and yank-popping is hard to make sense of.
+commands have to be used. It is hard to define yank-popping for rectangles,
+so we do not try.
@kindex C-x r y
@findex yank-rectangle
shifting the original text to the right.
@node CUA Bindings, Registers, Rectangles, Top
+@section CUA Bindings
@findex cua-mode
@vindex cua-mode
@cindex CUA key bindings
applications. @kbd{C-x} means cut (kill), @kbd{C-c} copy, @kbd{C-v}
paste (yank), and @kbd{C-z} undo. Standard Emacs commands like
@kbd{C-x C-c} still work, because @kbd{C-x} and @kbd{C-c} only take
-effect when the mark is active. However, if you don't want these
-bindings at all, set @code{cua-enable-cua-keys} to @code{nil}.
+effect when the mark is active (and the region is highlighted).
+However, if you don't want to override these bindings Emacs at all, set
+@code{cua-enable-cua-keys} to @code{nil}.
In CUA mode, using @kbd{Shift} together with the movement keys
-activates the region over which they move. The standard (unshifted)
-movement keys deactivate the mark, and typed text replaces the active
-region as in Delete-Selection mode (@pxref{Graphical Kill}).
+activates and highlights the region over which they move. The
+standard (unshifted) movement keys deactivate the mark, and typed text
+replaces the active region as in Delete-Selection mode
+(@pxref{Graphical Kill}).
+
+ To enter an Emacs command like @kbd{C-x C-f} while the mark is
+active, use one of the following methods: either hold @kbd{Shift}
+together with the prefix key, e.g. @kbd{S-C-x C-f}, or quickly type
+the prefix key twice, e.g. @kbd{C-x C-x C-f}.
@cindex rectangle highlighting
CUA mode provides enhanced rectangle support with visible
rectangle highlighting. Use @kbd{C-RET} to start a rectangle,
extend it using the movement commands, and cut or copy it using
-@kbd{C-x} or @kbd{C-c}. When a rectangle is active, text you type is
-automatically inserted before or after each line in the rectangle.
+@kbd{C-x} or @kbd{C-c}. @kbd{RET} moves the cursor to the next
+(clockwise) corner of the rectangle, so you can easily expand it in
+any direction. Normal text you type is inserted to the left or right
+of each line in the rectangle (on the same side as the cursor).
With CUA you can easily copy text and rectangles into and out of
registers by providing a one-digit numeric prefix the the kill, copy,