@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
@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.
editing in Emacs would change the file behind Emacs's back, which
can lead to losing some of your editing.
-@node Rectangles, Registers, Accumulating Text, Top
+@node Rectangles, CUA Bindings, Accumulating Text, Top
@section Rectangles
@cindex rectangle
@cindex columns (and rectangles)
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
@code{string-rectangle}, but inserts the string on each line,
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
+@vindex cua-enable-cua-keys
+ The command @kbd{M-x cua-mode} sets up key bindings that are
+compatible with the Common User Access (CUA) system used in many other
+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 (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 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}. @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,
+and yank commands, e.g. @kbd{C-1 C-c} copies the region into register
+@code{1}, and @kbd{C-2 C-v} yanks the contents of register @code{2}.
+
+@cindex global mark
+ CUA mode also has a global mark feature which allows easy moving and
+copying of text between buffers. Use @kbd{C-S-SPC} to toggle the
+global mark on and off. When the global mark is on, all text that you
+kill or copy is automatically inserted at the global mark, and text
+you type is inserted at the global mark rather than at the current
+position.
+
+ For example, to copy words from various buffers into a word list in
+a given buffer, set the global mark in the target buffer, then
+navigate to each of the words you want in the list, mark it (e.g. with
+@kbd{S-M-f}), copy it to the list with @kbd{C-c} or @kbd{M-w}, and
+insert a newline after the word in the target list by pressing
+@key{RET}.
+
@ifnottex
@lowersections
@end ifnottex