25829
|
1 @c This is part of the Emacs manual.
|
75249
|
2 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002,
|
79791
|
3 @c 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
25829
|
4 @c See file emacs.texi for copying conditions.
|
|
5 @node M-x, Help, Minibuffer, Top
|
|
6 @chapter Running Commands by Name
|
|
7
|
71585
|
8 Every Emacs command has a name that you can use to run it. For
|
|
9 convenience, many commands also have key bindings. You can run those
|
|
10 commands by typing the keys, or run them by name. Most Emacs commands
|
|
11 have no key bindings, so the only way to run them is by name.
|
|
12 (@xref{Key Bindings}, for how to set up key bindings.)
|
25829
|
13
|
36726
|
14 By convention, a command name consists of one or more words,
|
25829
|
15 separated by hyphens; for example, @code{auto-fill-mode} or
|
71585
|
16 @code{manual-entry}. Command names mostly use complete English words
|
|
17 to make them easier to remember.
|
25829
|
18
|
|
19 @kindex M-x
|
71585
|
20 To run a command by name, start with @kbd{M-x}, type the command
|
|
21 name, then terminate it with @key{RET}. @kbd{M-x} uses the minibuffer
|
|
22 to read the command name. The string @samp{M-x} appears at the
|
|
23 beginning of the minibuffer as a @dfn{prompt} to remind you to enter a
|
|
24 command name to be run. @key{RET} exits the minibuffer and runs the
|
|
25 command. @xref{Minibuffer}, for more information on the minibuffer.
|
25829
|
26
|
71592
|
27 You can use completion to enter the command name. For example,
|
71585
|
28 to invoke the command @code{forward-char}, you can type
|
25829
|
29
|
|
30 @example
|
|
31 M-x forward-char @key{RET}
|
|
32 @end example
|
|
33
|
|
34 @noindent
|
|
35 or
|
|
36
|
|
37 @example
|
|
38 M-x forw @key{TAB} c @key{RET}
|
|
39 @end example
|
|
40
|
|
41 @noindent
|
|
42 Note that @code{forward-char} is the same command that you invoke with
|
71585
|
43 the key @kbd{C-f}. The existence of a key binding does not stop you
|
|
44 from running the command by name.
|
25829
|
45
|
71585
|
46 To cancel the @kbd{M-x} and not run a command, type @kbd{C-g} instead
|
|
47 of entering the command name. This takes you back to command level.
|
25829
|
48
|
|
49 To pass a numeric argument to the command you are invoking with
|
71585
|
50 @kbd{M-x}, specify the numeric argument before @kbd{M-x}. The
|
|
51 argument value appears in the prompt while the command name is being
|
|
52 read, and finally @kbd{M-x} passes the argument to that command.
|
25829
|
53
|
|
54 @vindex suggest-key-bindings
|
71585
|
55 When the command you run with @kbd{M-x} has a key binding, Emacs
|
|
56 mentions this in the echo area after running the command. For
|
|
57 example, if you type @kbd{M-x forward-word}, the message says that you
|
|
58 can run the same command by typing @kbd{M-f}. You can turn off these
|
68511
|
59 messages by setting the variable @code{suggest-key-bindings} to
|
|
60 @code{nil}.
|
25829
|
61
|
71585
|
62 In this manual, when we speak of running a command by name, we often
|
|
63 omit the @key{RET} that terminates the name. Thus we might say
|
|
64 @kbd{M-x auto-fill-mode} rather than @kbd{M-x auto-fill-mode
|
|
65 @key{RET}}. We mention the @key{RET} only for emphasis, such as when
|
|
66 the command is followed by arguments.
|
25829
|
67
|
|
68 @findex execute-extended-command
|
|
69 @kbd{M-x} works by running the command
|
|
70 @code{execute-extended-command}, which is responsible for reading the
|
|
71 name of another command and invoking it.
|
52401
|
72
|
|
73 @ignore
|
|
74 arch-tag: b67bff53-9628-4666-b94e-eda972a7ba56
|
|
75 @end ignore
|