# HG changeset patch # User Glenn Morris # Date 1189054016 0 # Node ID c9e054c6ab4091f3daa2379119add494a4556ca7 # Parent f5ca761533bc610b4925f8e0fd9612a5406a42aa Move here from ../../man diff -r f5ca761533bc -r c9e054c6ab40 doc/emacs/m-x.texi --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/emacs/m-x.texi Thu Sep 06 04:46:56 2007 +0000 @@ -0,0 +1,75 @@ +@c This is part of the Emacs manual. +@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, +@c 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +@c See file emacs.texi for copying conditions. +@node M-x, Help, Minibuffer, Top +@chapter Running Commands by Name + + Every Emacs command has a name that you can use to run it. For +convenience, many commands also have key bindings. You can run those +commands by typing the keys, or run them by name. Most Emacs commands +have no key bindings, so the only way to run them is by name. +(@xref{Key Bindings}, for how to set up key bindings.) + + By convention, a command name consists of one or more words, +separated by hyphens; for example, @code{auto-fill-mode} or +@code{manual-entry}. Command names mostly use complete English words +to make them easier to remember. + +@kindex M-x + To run a command by name, start with @kbd{M-x}, type the command +name, then terminate it with @key{RET}. @kbd{M-x} uses the minibuffer +to read the command name. The string @samp{M-x} appears at the +beginning of the minibuffer as a @dfn{prompt} to remind you to enter a +command name to be run. @key{RET} exits the minibuffer and runs the +command. @xref{Minibuffer}, for more information on the minibuffer. + + You can use completion to enter the command name. For example, +to invoke the command @code{forward-char}, you can type + +@example +M-x forward-char @key{RET} +@end example + +@noindent +or + +@example +M-x forw @key{TAB} c @key{RET} +@end example + +@noindent +Note that @code{forward-char} is the same command that you invoke with +the key @kbd{C-f}. The existence of a key binding does not stop you +from running the command by name. + + To cancel the @kbd{M-x} and not run a command, type @kbd{C-g} instead +of entering the command name. This takes you back to command level. + + To pass a numeric argument to the command you are invoking with +@kbd{M-x}, specify the numeric argument before @kbd{M-x}. The +argument value appears in the prompt while the command name is being +read, and finally @kbd{M-x} passes the argument to that command. + +@vindex suggest-key-bindings + When the command you run with @kbd{M-x} has a key binding, Emacs +mentions this in the echo area after running the command. For +example, if you type @kbd{M-x forward-word}, the message says that you +can run the same command by typing @kbd{M-f}. You can turn off these +messages by setting the variable @code{suggest-key-bindings} to +@code{nil}. + + In this manual, when we speak of running a command by name, we often +omit the @key{RET} that terminates the name. Thus we might say +@kbd{M-x auto-fill-mode} rather than @kbd{M-x auto-fill-mode +@key{RET}}. We mention the @key{RET} only for emphasis, such as when +the command is followed by arguments. + +@findex execute-extended-command + @kbd{M-x} works by running the command +@code{execute-extended-command}, which is responsible for reading the +name of another command and invoking it. + +@ignore + arch-tag: b67bff53-9628-4666-b94e-eda972a7ba56 +@end ignore