annotate man/m-x.texi @ 38212:6b14cc47a4f2

Major rewrite. Sections Tags, Emerge, Change Log and Authors moved to maintaining.texi. Some sections reordered. Node Misc for Programs moved to just before the language-specific sections. New node Defuns contains an intro plus the old Defuns node (now renamed Moving by Defuns) as well as Imenu, Which Function, and a node Left Margin Paren to explain the convention about this. New node Parentheses now documents M-x check-parens. It contains subnodes Expressions, Moving by Parens, and Matching. Expressions and Moving by Parens contain the material formerly in Lists and List Commands, but divided up differently. The section Balanced Editing has been deleted. Most of the C indentation customization (all except c-set-style), has been replaced with a reference to the C Modes manual. Documentation now is divided into three subsections. Some rewrites in the Program Indent section about C-u TAB and C-M-q.
author Richard M. Stallman <rms@gnu.org>
date Tue, 26 Jun 2001 13:43:32 +0000
parents d18a841a4a5a
children 695cf19ef79e d7ddb3e565de
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1 @c This is part of the Emacs manual.
Dave Love <fx@gnu.org>
parents:
diff changeset
2 @c Copyright (C) 1985, 86, 87, 93, 94, 95, 1997 Free Software Foundation, Inc.
Dave Love <fx@gnu.org>
parents:
diff changeset
3 @c See file emacs.texi for copying conditions.
Dave Love <fx@gnu.org>
parents:
diff changeset
4 @node M-x, Help, Minibuffer, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
5 @chapter Running Commands by Name
Dave Love <fx@gnu.org>
parents:
diff changeset
6
36726
d18a841a4a5a Clarify key bindings vs running a command by name.
Richard M. Stallman <rms@gnu.org>
parents: 36658
diff changeset
7 Every Emacs command has a name that you can use to run it. Commands
d18a841a4a5a Clarify key bindings vs running a command by name.
Richard M. Stallman <rms@gnu.org>
parents: 36658
diff changeset
8 that are used often, or that must be quick to type, are also bound to
d18a841a4a5a Clarify key bindings vs running a command by name.
Richard M. Stallman <rms@gnu.org>
parents: 36658
diff changeset
9 keys---short sequences of characters---for convenient use. You can
d18a841a4a5a Clarify key bindings vs running a command by name.
Richard M. Stallman <rms@gnu.org>
parents: 36658
diff changeset
10 run them by name if you don't remember the keys. Other Emacs commands
d18a841a4a5a Clarify key bindings vs running a command by name.
Richard M. Stallman <rms@gnu.org>
parents: 36658
diff changeset
11 that do not need to be quick are not bound to keys; the only way to
d18a841a4a5a Clarify key bindings vs running a command by name.
Richard M. Stallman <rms@gnu.org>
parents: 36658
diff changeset
12 run them is by name. @xref{Key Bindings}, for the description of
36652
ca2ae794785e (M-x): Make it clear that bound commands can also be invoked by name.
Eli Zaretskii <eliz@gnu.org>
parents: 25829
diff changeset
13 how to bind commands to keys.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
14
36726
d18a841a4a5a Clarify key bindings vs running a command by name.
Richard M. Stallman <rms@gnu.org>
parents: 36658
diff changeset
15 By convention, a command name consists of one or more words,
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
16 separated by hyphens; for example, @code{auto-fill-mode} or
Dave Love <fx@gnu.org>
parents:
diff changeset
17 @code{manual-entry}. The use of English words makes the command name
36726
d18a841a4a5a Clarify key bindings vs running a command by name.
Richard M. Stallman <rms@gnu.org>
parents: 36658
diff changeset
18 easier to remember than a key made up of obscure characters, even
d18a841a4a5a Clarify key bindings vs running a command by name.
Richard M. Stallman <rms@gnu.org>
parents: 36658
diff changeset
19 though it is more characters to type.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
20
Dave Love <fx@gnu.org>
parents:
diff changeset
21 @kindex M-x
Dave Love <fx@gnu.org>
parents:
diff changeset
22 The way to run a command by name is to start with @kbd{M-x}, type the
Dave Love <fx@gnu.org>
parents:
diff changeset
23 command name, and finish it with @key{RET}. @kbd{M-x} uses the
Dave Love <fx@gnu.org>
parents:
diff changeset
24 minibuffer to read the command name. @key{RET} exits the minibuffer and
Dave Love <fx@gnu.org>
parents:
diff changeset
25 runs the command. The string @samp{M-x} appears at the beginning of the
Dave Love <fx@gnu.org>
parents:
diff changeset
26 minibuffer as a @dfn{prompt} to remind you to enter the name of a
Dave Love <fx@gnu.org>
parents:
diff changeset
27 command to be run. @xref{Minibuffer}, for full information on the
Dave Love <fx@gnu.org>
parents:
diff changeset
28 features of the minibuffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
29
36726
d18a841a4a5a Clarify key bindings vs running a command by name.
Richard M. Stallman <rms@gnu.org>
parents: 36658
diff changeset
30 You can use completion to enter the command name. For example, you
d18a841a4a5a Clarify key bindings vs running a command by name.
Richard M. Stallman <rms@gnu.org>
parents: 36658
diff changeset
31 can invoke the command @code{forward-char} by name by typing either
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
32
Dave Love <fx@gnu.org>
parents:
diff changeset
33 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
34 M-x forward-char @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
35 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
36
Dave Love <fx@gnu.org>
parents:
diff changeset
37 @noindent
Dave Love <fx@gnu.org>
parents:
diff changeset
38 or
Dave Love <fx@gnu.org>
parents:
diff changeset
39
Dave Love <fx@gnu.org>
parents:
diff changeset
40 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
41 M-x forw @key{TAB} c @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
42 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
43
Dave Love <fx@gnu.org>
parents:
diff changeset
44 @noindent
Dave Love <fx@gnu.org>
parents:
diff changeset
45 Note that @code{forward-char} is the same command that you invoke with
Dave Love <fx@gnu.org>
parents:
diff changeset
46 the key @kbd{C-f}. You can run any Emacs command by name using
Dave Love <fx@gnu.org>
parents:
diff changeset
47 @kbd{M-x}, whether or not any keys are bound to it.
Dave Love <fx@gnu.org>
parents:
diff changeset
48
Dave Love <fx@gnu.org>
parents:
diff changeset
49 If you type @kbd{C-g} while the command name is being read, you cancel
Dave Love <fx@gnu.org>
parents:
diff changeset
50 the @kbd{M-x} command and get out of the minibuffer, ending up at top level.
Dave Love <fx@gnu.org>
parents:
diff changeset
51
Dave Love <fx@gnu.org>
parents:
diff changeset
52 To pass a numeric argument to the command you are invoking with
Dave Love <fx@gnu.org>
parents:
diff changeset
53 @kbd{M-x}, specify the numeric argument before the @kbd{M-x}. @kbd{M-x}
Dave Love <fx@gnu.org>
parents:
diff changeset
54 passes the argument along to the command it runs. The argument value
Dave Love <fx@gnu.org>
parents:
diff changeset
55 appears in the prompt while the command name is being read.
Dave Love <fx@gnu.org>
parents:
diff changeset
56
Dave Love <fx@gnu.org>
parents:
diff changeset
57 @vindex suggest-key-bindings
Dave Love <fx@gnu.org>
parents:
diff changeset
58 If the command you type has a key binding of its own, Emacs mentions
Dave Love <fx@gnu.org>
parents:
diff changeset
59 this in the echo area, two seconds after the command finishes (if you
Dave Love <fx@gnu.org>
parents:
diff changeset
60 don't type anything else first). For example, if you type @kbd{M-x
Dave Love <fx@gnu.org>
parents:
diff changeset
61 forward-word}, the message says that you can run the same command more
Dave Love <fx@gnu.org>
parents:
diff changeset
62 easily by typing @kbd{M-f}. You can turn off these messages by setting
Dave Love <fx@gnu.org>
parents:
diff changeset
63 @code{suggest-key-bindings} to @code{nil}.
Dave Love <fx@gnu.org>
parents:
diff changeset
64
Dave Love <fx@gnu.org>
parents:
diff changeset
65 Normally, when describing in this manual a command that is run by
Dave Love <fx@gnu.org>
parents:
diff changeset
66 name, we omit the @key{RET} that is needed to terminate the name. Thus
Dave Love <fx@gnu.org>
parents:
diff changeset
67 we might speak of @kbd{M-x auto-fill-mode} rather than @kbd{M-x
Dave Love <fx@gnu.org>
parents:
diff changeset
68 auto-fill-mode @key{RET}}. We mention the @key{RET} only when there is
Dave Love <fx@gnu.org>
parents:
diff changeset
69 a need to emphasize its presence, such as when we show the command
Dave Love <fx@gnu.org>
parents:
diff changeset
70 together with following arguments.
Dave Love <fx@gnu.org>
parents:
diff changeset
71
Dave Love <fx@gnu.org>
parents:
diff changeset
72 @findex execute-extended-command
Dave Love <fx@gnu.org>
parents:
diff changeset
73 @kbd{M-x} works by running the command
Dave Love <fx@gnu.org>
parents:
diff changeset
74 @code{execute-extended-command}, which is responsible for reading the
Dave Love <fx@gnu.org>
parents:
diff changeset
75 name of another command and invoking it.