GNU Info

Info Node: (emacs)Keys

(emacs)Keys


Next: Commands Prev: User Input Up: Top
Enter node , (file) or (file)node

Keys
====

   A "key sequence" ("key", for short) is a sequence of input events
that are meaningful as a unit--as "a single command."  Some Emacs
command sequences are just one character or one event; for example,
just `C-f' is enough to move forward one character in the buffer.  But
Emacs also has commands that take two or more events to invoke.

   If a sequence of events is enough to invoke a command, it is a
"complete key".  Examples of complete keys include `C-a', `X', <RET>,
<NEXT> (a function key), <DOWN> (an arrow key), `C-x C-f', and `C-x 4
C-f'.  If it isn't long enough to be complete, we call it a "prefix
key".  The above examples show that `C-x' and `C-x 4' are prefix keys.
Every key sequence is either a complete key or a prefix key.

   Most single characters constitute complete keys in the standard Emacs
command bindings.  A few of them are prefix keys.  A prefix key combines
with the following input event to make a longer key sequence, which may
itself be complete or a prefix.  For example, `C-x' is a prefix key, so
`C-x' and the next input event combine to make a two-event key
sequence.  Most of these key sequences are complete keys, including
`C-x C-f' and `C-x b'.  A few, such as `C-x 4' and `C-x r', are
themselves prefix keys that lead to three-event key sequences.  There's
no limit to the length of a key sequence, but in practice people rarely
use sequences longer than four events.

   By contrast, you can't add more events onto a complete key.  For
example, the two-event sequence `C-f C-k' is not a key, because the
`C-f' is a complete key in itself.  It's impossible to give `C-f C-k'
an independent meaning as a command.  `C-f C-k' is two key sequences,
not one.

   All told, the prefix keys in Emacs are `C-c', `C-h', `C-x', `C-x
<RET>', `C-x @', `C-x a', `C-x n', `C-x r', `C-x v', `C-x 4', `C-x 5',
`C-x 6', <ESC>, and `M-g'.  But this list is not cast in concrete; it is
just a matter of Emacs's standard key bindings.  If you customize Emacs,
you can make new prefix keys, or eliminate these.  Note: Key Bindings.

   If you do make or eliminate prefix keys, that changes the set of
possible key sequences.  For example, if you redefine `C-f' as a
prefix, `C-f C-k' automatically becomes a key (complete, unless you
define that too as a prefix).  Conversely, if you remove the prefix
definition of `C-x 4', then `C-x 4 f' (or `C-x 4 ANYTHING') is no
longer a key.

   Typing the help character (`C-h' or <F1>) after a prefix key
displays a list of the commands starting with that prefix.  There are a
few prefix keys for which `C-h' does not work--for historical reasons,
they have other meanings for `C-h' which are not easy to change.  But
<F1> should work for all prefix keys.


automatically generated by info2www version 1.2.2.9