8.10 Numeric Arguments
In mathematics and computer usage, the word argument means
“data provided to a function or operation.” You can give any Emacs
command a numeric argument (also called a prefix argument).
Some commands interpret the argument as a repetition count. For
example, C-f with an argument of ten moves forward ten characters
instead of one. With these commands, no argument is equivalent to an
argument of one. Negative arguments tell most such commands to move or
act in the opposite direction.
If your terminal keyboard has a <META> key (labeled <ALT> on
PC keyboards), the easiest way to specify a numeric argument is to
type digits and/or a minus sign while holding down the <META> key.
would move down five lines. The characters Meta-1, Meta-2,
and so on, as well as Meta--, do this because they are keys bound
to commands (
are defined to contribute to an argument for the next command.
Meta-- without digits normally means −1. Digits and
- modified with Control, or Control and Meta, also specify numeric
Another way of specifying an argument is to use the C-u
universal-argument) command followed by the digits of the
argument. With C-u, you can type the argument digits without
holding down modifier keys; C-u works on all terminals. To type a
negative argument, type a minus sign after C-u. Just a minus sign
without digits normally means −1.
C-u followed by a character which is neither a digit nor a minus
sign has the special meaning of “multiply by four.” It multiplies the
argument for the next command by four. C-u twice multiplies it by
sixteen. Thus, C-u C-u C-f moves forward sixteen characters. This
is a good way to move forward “fast,” since it moves about 1/5 of a line
in the usual size screen. Other useful combinations are C-u C-n,
C-u C-u C-n (move down a good fraction of a screen), C-u C-u
C-o (make “a lot” of blank lines), and C-u C-k (kill four
Some commands care only about whether there is an argument, and not about
its value. For example, the command M-q (
no argument fills text; with an argument, it justifies the text as well.
(See Filling, for more information on M-q.) Plain C-u is a
handy way of providing an argument for such commands.
Some commands use the value of the argument as a repeat count, but do
something peculiar when there is no argument. For example, the command
kill-line) with argument n kills n lines,
including their terminating newlines. But C-k with no argument is
special: it kills the text up to the next newline, or, if point is right at
the end of the line, it kills the newline itself. Thus, two C-k
commands with no arguments can kill a nonblank line, just like C-k
with an argument of one. (See Killing, for more information on
A few commands treat a plain C-u differently from an ordinary
argument. A few others may treat an argument of just a minus sign
differently from an argument of −1. These unusual cases are
described when they come up; they are always for reasons of
convenience of use of the individual command, and they are documented
in the command's documentation string.
You can use a numeric argument to insert multiple copies of a
character. This is straightforward unless the character is a digit; for
example, C-u 6 4 a inserts 64 copies of the character ‘a’.
But this does not work for inserting digits; C-u 6 4 1 specifies
an argument of 641, rather than inserting anything. To separate the
digit to insert from the argument, type another C-u; for example,
C-u 6 4 C-u 1 does insert 64 copies of the character ‘1’.
We use the term “prefix argument” as well as “numeric argument” to
emphasize that you type the argument before the command, and to
distinguish these arguments from minibuffer arguments that come after