Previous: Position Info, Up: Basic [Contents][Index]
In mathematics and computer usage, the word argument means
“data provided to a function or operation.” Any Emacs command can be
given a numeric argument (also called a prefix argument).
Some commands interpret the argument as a repetition count. For
example, giving an argument of ten to the key C-f (the command
forward-char
, move forward one character) moves forward ten
characters. With these commands, no argument is equivalent to an
argument of one. Negative arguments are allowed. Often they tell a
command to move or act in the opposite direction.
If your keyboard has a META key (labelled with a diamond on Sun-type keyboards and labelled ‘Alt’ on some other keyboards), the easiest way to specify a numeric argument is to type digits and/or a minus sign while holding down the META key. For example,
M-5 C-n
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 (digit-argument
and negative-argument
) that
are defined to contribute to an argument for the next command. Digits
and - modified with Control, or Control and Meta, also specify
numeric arguments.
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 frame. Other useful combinations are C-u C-n, C-u C-u C-n (move down a good fraction of a frame), C-u C-u C-o (make “a lot” of blank lines), and C-u C-k (kill four lines).
Some commands care only about whether there is an argument and not about
its value. For example, the command M-q (fill-paragraph
) with
no argument fills text; with an argument, it justifies the text as well.
(See Filling, for more information on M-q.) Just 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
C-k (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 non-blank line, just like C-k
with an argument of one. (See Killing, for more information on
C-k.)
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.
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 the command.
Previous: Position Info, Up: Basic [Contents][Index]