annotate doc/emacs/m-x.texi @ 112397:a7191495c39c

Include entries from yesterdays checkins that were in an unsaved buffer.
author Ken Manheimer <ken.manheimer@gmail.com>
date Fri, 21 Jan 2011 11:36:24 -0500
parents ef719132ddfa
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
84250
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1 @c This is part of the Emacs manual.
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
2 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002,
112218
376148b31b5e Add 2011 to FSF/AIST copyright years.
Glenn Morris <rgm@gnu.org>
parents: 106815
diff changeset
3 @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
84250
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
4 @c See file emacs.texi for copying conditions.
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
5 @node M-x, Help, Minibuffer, Top
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
6 @chapter Running Commands by Name
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
7
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
8 Every Emacs command has a name that you can use to run it. For
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
9 convenience, many commands also have key bindings. You can run those
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
10 commands by typing the keys, or run them by name. Most Emacs commands
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
11 have no key bindings, so the only way to run them is by name.
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
12 (@xref{Key Bindings}, for how to set up key bindings.)
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
13
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
14 By convention, a command name consists of one or more words,
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
15 separated by hyphens; for example, @code{auto-fill-mode} or
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
16 @code{manual-entry}. Command names mostly use complete English words
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
17 to make them easier to remember.
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
18
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
19 @kindex M-x
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
20 To run a command by name, start with @kbd{M-x}, type the command
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
21 name, then terminate it with @key{RET}. @kbd{M-x} uses the minibuffer
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
22 to read the command name. The string @samp{M-x} appears at the
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
23 beginning of the minibuffer as a @dfn{prompt} to remind you to enter a
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
24 command name to be run. @key{RET} exits the minibuffer and runs the
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
25 command. @xref{Minibuffer}, for more information on the minibuffer.
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
26
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
27 You can use completion to enter the command name. For example,
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
28 to invoke the command @code{forward-char}, you can type
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
29
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
30 @example
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
31 M-x forward-char @key{RET}
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
32 @end example
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
33
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
34 @noindent
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
35 or
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
36
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
37 @example
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
38 M-x forw @key{TAB} c @key{RET}
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
39 @end example
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
40
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
41 @noindent
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
42 Note that @code{forward-char} is the same command that you invoke with
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
43 the key @kbd{C-f}. The existence of a key binding does not stop you
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
44 from running the command by name.
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
45
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
46 To cancel the @kbd{M-x} and not run a command, type @kbd{C-g} instead
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
47 of entering the command name. This takes you back to command level.
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
48
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
49 To pass a numeric argument to the command you are invoking with
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
50 @kbd{M-x}, specify the numeric argument before @kbd{M-x}. The
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
51 argument value appears in the prompt while the command name is being
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
52 read, and finally @kbd{M-x} passes the argument to that command.
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
53
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
54 @vindex suggest-key-bindings
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
55 When the command you run with @kbd{M-x} has a key binding, Emacs
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
56 mentions this in the echo area after running the command. For
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
57 example, if you type @kbd{M-x forward-word}, the message says that you
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
58 can run the same command by typing @kbd{M-f}. You can turn off these
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
59 messages by setting the variable @code{suggest-key-bindings} to
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
60 @code{nil}.
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
61
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
62 In this manual, when we speak of running a command by name, we often
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
63 omit the @key{RET} that terminates the name. Thus we might say
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
64 @kbd{M-x auto-fill-mode} rather than @kbd{M-x auto-fill-mode
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
65 @key{RET}}. We mention the @key{RET} only for emphasis, such as when
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
66 the command is followed by arguments.
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
67
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
68 @findex execute-extended-command
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
69 @kbd{M-x} works by running the command
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
70 @code{execute-extended-command}, which is responsible for reading the
c9e054c6ab40 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
71 name of another command and invoking it.