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
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>, M-o and M-g. (<F1> and <F2> are aliases for
C-h and C-x 6.) 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. See 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