1999-09-29 15:17:24 +00:00
|
|
|
@c This is part of the Emacs manual.
|
2005-08-10 15:40:54 +00:00
|
|
|
@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
|
|
|
|
@c 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
1999-09-29 15:17:24 +00:00
|
|
|
@c See file emacs.texi for copying conditions.
|
|
|
|
@node Help, Mark, M-x, Top
|
|
|
|
@chapter Help
|
|
|
|
@kindex Help
|
|
|
|
@cindex help
|
|
|
|
@cindex self-documentation
|
|
|
|
@findex help-command
|
|
|
|
@kindex C-h
|
|
|
|
@kindex F1
|
|
|
|
|
|
|
|
Emacs provides extensive help features accessible through a single
|
2001-07-19 13:10:50 +00:00
|
|
|
character, @kbd{C-h}. @kbd{C-h} is a prefix key that is used for
|
2001-07-17 10:50:35 +00:00
|
|
|
commands that display documentation. The characters that you can type after
|
1999-09-29 15:17:24 +00:00
|
|
|
@kbd{C-h} are called @dfn{help options}. One help option is @kbd{C-h};
|
|
|
|
that is how you ask for help about using @kbd{C-h}. To cancel, type
|
|
|
|
@kbd{C-g}. The function key @key{F1} is equivalent to @kbd{C-h}.
|
|
|
|
|
|
|
|
@kindex C-h C-h
|
|
|
|
@findex help-for-help
|
|
|
|
@kbd{C-h C-h} (@code{help-for-help}) displays a list of the possible
|
|
|
|
help options, each with a brief description. Before you type a help
|
|
|
|
option, you can use @key{SPC} or @key{DEL} to scroll through the list.
|
|
|
|
|
|
|
|
@kbd{C-h} or @key{F1} means ``help'' in various other contexts as
|
2005-02-16 10:04:34 +00:00
|
|
|
well. After a prefix key, it displays a list of the alternatives that
|
|
|
|
can follow the prefix key. (A few prefix keys don't support
|
|
|
|
@kbd{C-h}, because they define other meanings for it, but they all
|
|
|
|
support @key{F1}.)
|
1999-09-29 15:17:24 +00:00
|
|
|
|
|
|
|
Most help buffers use a special major mode, Help mode, which lets you
|
2000-03-30 23:12:55 +00:00
|
|
|
scroll conveniently with @key{SPC} and @key{DEL}. It also offers
|
2005-10-28 21:43:17 +00:00
|
|
|
hyperlinks to URLs and further help regarding cross-referenced names, Info
|
|
|
|
nodes, customization buffers and the like. @xref{Help Mode}.
|
1999-09-29 15:17:24 +00:00
|
|
|
|
2000-10-08 09:14:38 +00:00
|
|
|
@cindex searching documentation efficiently
|
|
|
|
@cindex looking for a subject in documentation
|
2001-02-25 00:37:52 +00:00
|
|
|
If you are looking for a certain feature, but don't know where
|
2001-08-08 23:39:08 +00:00
|
|
|
exactly it is documented, and aren't sure of the name of a
|
2005-01-30 11:23:17 +00:00
|
|
|
related command or variable, we recommend trying these methods. Usually
|
2001-02-25 00:37:52 +00:00
|
|
|
it is best to start with an apropos command, then try searching the
|
|
|
|
manual index, then finally look in the FAQ and the package keywords.
|
2000-10-08 09:14:38 +00:00
|
|
|
|
|
|
|
@table @kbd
|
|
|
|
@item C-h a @var{topic} @key{RET}
|
2001-02-17 17:28:52 +00:00
|
|
|
This searches for commands whose names match @var{topic}, which should
|
2001-08-08 23:39:08 +00:00
|
|
|
be a regular expression (@pxref{Regexps}). Browse the buffer that this
|
|
|
|
command displays to find what you are looking for. @xref{Apropos}.
|
2000-10-08 09:14:38 +00:00
|
|
|
|
2001-03-01 14:28:32 +00:00
|
|
|
@item M-x apropos @key{RET} @var{topic} @key{RET}
|
2005-02-16 10:04:34 +00:00
|
|
|
This works like @kbd{C-h a}, but it also searches for noninteractive
|
|
|
|
functions and for variables. @xref{Apropos}.
|
2000-10-10 12:46:32 +00:00
|
|
|
|
2001-03-01 14:28:32 +00:00
|
|
|
@item M-x apropos-documentation @key{RET} @var{topic} @key{RET}
|
2000-10-12 18:17:56 +00:00
|
|
|
This searches the @emph{documentation strings} (the built-in short
|
|
|
|
descriptions) of all variables and functions (not their names) for a
|
|
|
|
match for @var{topic}, a regular expression. @xref{Apropos}.
|
|
|
|
|
2001-04-03 10:59:00 +00:00
|
|
|
@item C-h i d m emacs @key{RET} i @var{topic} @key{RET}
|
2001-02-17 17:28:52 +00:00
|
|
|
This looks up @var{topic} in the indices of the Emacs on-line manual.
|
2001-02-23 19:54:30 +00:00
|
|
|
If there are several matches, Emacs displays the first one. You can then
|
2004-08-11 20:59:27 +00:00
|
|
|
press @kbd{,} to move to other matches, until you find what you are
|
2001-02-17 17:28:52 +00:00
|
|
|
looking for.
|
|
|
|
|
2001-04-03 10:59:00 +00:00
|
|
|
@item C-h i d m emacs @key{RET} s @var{topic} @key{RET}
|
2001-02-17 17:28:52 +00:00
|
|
|
Similar, but searches for @var{topic} (which can be a regular
|
|
|
|
expression) in the @emph{text} of the manual rather than in its
|
|
|
|
indices.
|
|
|
|
|
2004-03-22 07:24:46 +00:00
|
|
|
@item C-h C-f
|
2005-02-16 10:04:34 +00:00
|
|
|
This brings up the Emacs FAQ. You can use the Info commands
|
|
|
|
to browse it.
|
2000-10-08 09:14:38 +00:00
|
|
|
|
2000-10-10 12:46:32 +00:00
|
|
|
@item C-h p
|
2000-10-08 09:14:38 +00:00
|
|
|
Finally, you can try looking up a suitable package using keywords
|
2000-10-10 12:46:32 +00:00
|
|
|
pertinent to the feature you need. @xref{Library Keywords}.
|
2000-10-08 09:14:38 +00:00
|
|
|
@end table
|
|
|
|
|
2001-09-20 15:46:17 +00:00
|
|
|
To find the documentation of a key sequence or a menu item, type
|
2002-07-07 23:46:55 +00:00
|
|
|
@kbd{C-h K} and then type that key sequence or select the menu
|
2001-09-20 15:46:17 +00:00
|
|
|
item. This looks up the description of the command invoked by the key
|
|
|
|
or the menu in the appropriate manual (not necessarily the Emacs
|
2002-07-07 23:46:55 +00:00
|
|
|
manual). Likewise, use @kbd{C-h F} for reading documentation of a
|
2001-09-20 15:46:17 +00:00
|
|
|
command.
|
|
|
|
|
1999-09-29 15:17:24 +00:00
|
|
|
@menu
|
|
|
|
* Help Summary:: Brief list of all Help commands.
|
|
|
|
* Key Help:: Asking what a key does in Emacs.
|
|
|
|
* Name Help:: Asking about a command, variable or function name.
|
|
|
|
* Apropos:: Asking what pertains to a given topic.
|
|
|
|
* Library Keywords:: Finding Lisp libraries by keywords (topics).
|
|
|
|
* Language Help:: Help relating to international language support.
|
|
|
|
* Help Mode:: Special features of Help mode and Help buffers.
|
|
|
|
* Misc Help:: Other help commands.
|
2002-07-07 23:46:55 +00:00
|
|
|
* Help Files:: Commands to display pre-written help files.
|
2000-03-30 23:12:55 +00:00
|
|
|
* Help Echo:: Help on active text and tooltips (`balloon help')
|
1999-09-29 15:17:24 +00:00
|
|
|
@end menu
|
|
|
|
|
|
|
|
@iftex
|
|
|
|
@node Help Summary
|
|
|
|
@end iftex
|
2004-05-16 22:22:52 +00:00
|
|
|
@ifnottex
|
1999-09-29 15:17:24 +00:00
|
|
|
@node Help Summary
|
|
|
|
@section Help Summary
|
2004-05-16 22:22:52 +00:00
|
|
|
@end ifnottex
|
1999-09-29 15:17:24 +00:00
|
|
|
|
2002-07-07 23:46:55 +00:00
|
|
|
Here is a summary of the Emacs interactive help commands.
|
|
|
|
@xref{Help Files}, for other help commands that just display a
|
|
|
|
pre-written file of information.
|
1999-09-29 15:17:24 +00:00
|
|
|
|
|
|
|
@table @kbd
|
|
|
|
@item C-h a @var{regexp} @key{RET}
|
|
|
|
Display a list of commands whose names match @var{regexp}
|
|
|
|
(@code{apropos-command}).
|
|
|
|
@item C-h b
|
|
|
|
Display a table of all key bindings in effect now, in this order: minor
|
|
|
|
mode bindings, major mode bindings, and global bindings
|
|
|
|
(@code{describe-bindings}).
|
|
|
|
@item C-h c @var{key}
|
2001-07-19 13:10:50 +00:00
|
|
|
Show the name of the command that @var{key} runs
|
2001-02-19 04:15:26 +00:00
|
|
|
(@code{describe-key-briefly}). Here @kbd{c} stands for ``character.''
|
|
|
|
For more extensive information on @var{key}, use @kbd{C-h k}.
|
1999-09-29 15:17:24 +00:00
|
|
|
@item C-h f @var{function} @key{RET}
|
|
|
|
Display documentation on the Lisp function named @var{function}
|
|
|
|
(@code{describe-function}). Since commands are Lisp functions,
|
|
|
|
a command name may be used.
|
|
|
|
@item C-h h
|
2001-04-03 10:59:00 +00:00
|
|
|
Display the @file{HELLO} file, which shows examples of various character
|
1999-09-29 15:17:24 +00:00
|
|
|
sets.
|
|
|
|
@item C-h i
|
|
|
|
Run Info, the program for browsing documentation files (@code{info}).
|
|
|
|
The complete Emacs manual is available on-line in Info.
|
|
|
|
@item C-h k @var{key}
|
|
|
|
Display the name and documentation of the command that @var{key} runs
|
|
|
|
(@code{describe-key}).
|
|
|
|
@item C-h l
|
|
|
|
Display a description of the last 100 characters you typed
|
|
|
|
(@code{view-lossage}).
|
|
|
|
@item C-h m
|
|
|
|
Display documentation of the current major mode (@code{describe-mode}).
|
|
|
|
@item C-h p
|
|
|
|
Find packages by topic keyword (@code{finder-by-keyword}).
|
|
|
|
@item C-h s
|
2001-07-17 10:50:35 +00:00
|
|
|
Display the current contents of the syntax table, plus an explanation of
|
1999-09-29 15:17:24 +00:00
|
|
|
what they mean (@code{describe-syntax}). @xref{Syntax}.
|
|
|
|
@item C-h t
|
|
|
|
Enter the Emacs interactive tutorial (@code{help-with-tutorial}).
|
|
|
|
@item C-h v @var{var} @key{RET}
|
2001-07-19 13:10:50 +00:00
|
|
|
Display the documentation of the Lisp variable @var{var}
|
1999-09-29 15:17:24 +00:00
|
|
|
(@code{describe-variable}).
|
|
|
|
@item C-h w @var{command} @key{RET}
|
2001-07-19 13:10:50 +00:00
|
|
|
Show which keys run the command named @var{command} (@code{where-is}).
|
1999-09-29 15:17:24 +00:00
|
|
|
@item C-h C @var{coding} @key{RET}
|
2001-07-19 13:10:50 +00:00
|
|
|
Describe coding system @var{coding}
|
1999-09-29 15:17:24 +00:00
|
|
|
(@code{describe-coding-system}).
|
|
|
|
@item C-h C @key{RET}
|
|
|
|
Describe the coding systems currently in use.
|
|
|
|
@item C-h I @var{method} @key{RET}
|
|
|
|
Describe an input method (@code{describe-input-method}).
|
|
|
|
@item C-h L @var{language-env} @key{RET}
|
2001-08-08 23:39:08 +00:00
|
|
|
Display information on the character sets, coding systems, and input
|
2001-07-19 13:10:50 +00:00
|
|
|
methods used for language environment @var{language-env}
|
1999-09-29 15:17:24 +00:00
|
|
|
(@code{describe-language-environment}).
|
2002-07-07 23:46:55 +00:00
|
|
|
@item C-h F @var{function} @key{RET}
|
1999-09-29 15:17:24 +00:00
|
|
|
Enter Info and go to the node documenting the Emacs function @var{function}
|
|
|
|
(@code{Info-goto-emacs-command-node}).
|
2002-07-07 23:46:55 +00:00
|
|
|
@item C-h K @var{key}
|
1999-09-29 15:17:24 +00:00
|
|
|
Enter Info and go to the node where the key sequence @var{key} is
|
|
|
|
documented (@code{Info-goto-emacs-key-command-node}).
|
2002-07-07 23:46:55 +00:00
|
|
|
@item C-h S @var{symbol} @key{RET}
|
1999-09-29 15:17:24 +00:00
|
|
|
Display the Info documentation on symbol @var{symbol} according to the
|
|
|
|
programming language you are editing (@code{info-lookup-symbol}).
|
2005-03-26 01:52:50 +00:00
|
|
|
@item C-h .
|
|
|
|
Display a help message associated with special text areas, such as
|
2005-03-26 17:27:18 +00:00
|
|
|
links in @samp{*Help*} buffers (@code{display-local-help}).
|
1999-09-29 15:17:24 +00:00
|
|
|
@end table
|
|
|
|
|
|
|
|
@node Key Help
|
|
|
|
@section Documentation for a Key
|
|
|
|
|
|
|
|
@kindex C-h c
|
|
|
|
@findex describe-key-briefly
|
|
|
|
The most basic @kbd{C-h} options are @kbd{C-h c}
|
|
|
|
(@code{describe-key-briefly}) and @w{@kbd{C-h k}} (@code{describe-key}).
|
2001-08-20 04:20:06 +00:00
|
|
|
@kbd{C-h c @var{key}} displays in the echo area the name of the command
|
|
|
|
that @var{key} is bound to. For example, @kbd{C-h c C-f} displays
|
1999-09-29 15:17:24 +00:00
|
|
|
@samp{forward-char}. Since command names are chosen to describe what
|
|
|
|
the commands do, this is a good way to get a very brief description of
|
|
|
|
what @var{key} does.
|
|
|
|
|
|
|
|
@kindex C-h k
|
|
|
|
@findex describe-key
|
|
|
|
@kbd{C-h k @var{key}} is similar but gives more information: it
|
|
|
|
displays the documentation string of the command as well as its name.
|
|
|
|
This is too big for the echo area, so a window is used for the display.
|
|
|
|
|
|
|
|
@kbd{C-h c} and @kbd{C-h k} work for any sort of key sequences,
|
|
|
|
including function keys and mouse events.
|
|
|
|
|
2005-02-16 10:04:34 +00:00
|
|
|
@kindex C-h w
|
|
|
|
@findex where-is
|
|
|
|
@kbd{C-h w @var{command} @key{RET}} tells you what keys are bound to
|
|
|
|
@var{command}. It displays a list of the keys in the echo area. If it
|
|
|
|
says the command is not on any key, you must use @kbd{M-x} to run it.
|
|
|
|
@kbd{C-h w} runs the command @code{where-is}.
|
|
|
|
|
1999-09-29 15:17:24 +00:00
|
|
|
@node Name Help
|
|
|
|
@section Help by Command or Variable Name
|
|
|
|
|
|
|
|
@kindex C-h f
|
|
|
|
@findex describe-function
|
|
|
|
@kbd{C-h f} (@code{describe-function}) reads the name of a Lisp function
|
|
|
|
using the minibuffer, then displays that function's documentation string
|
|
|
|
in a window. Since commands are Lisp functions, you can use this to get
|
|
|
|
the documentation of a command that you know by name. For example,
|
|
|
|
|
|
|
|
@example
|
|
|
|
C-h f auto-fill-mode @key{RET}
|
|
|
|
@end example
|
|
|
|
|
|
|
|
@noindent
|
|
|
|
displays the documentation of @code{auto-fill-mode}. This is the only
|
|
|
|
way to get the documentation of a command that is not bound to any key
|
|
|
|
(one which you would normally run using @kbd{M-x}).
|
|
|
|
|
2005-02-16 10:04:34 +00:00
|
|
|
@kbd{C-h f} is also useful for Lisp functions that you are planning
|
|
|
|
to use in a Lisp program. For example, if you have just written the
|
|
|
|
expression @code{(make-vector len)} and want to check that you are
|
|
|
|
using @code{make-vector} properly, type @kbd{C-h f make-vector
|
|
|
|
@key{RET}}. Because @kbd{C-h f} allows all function names, not just
|
|
|
|
command names, you may find that some of your favorite completion
|
|
|
|
abbreviations that work in @kbd{M-x} don't work in @kbd{C-h f}. An
|
|
|
|
abbreviation may be unique among command names, yet fail to be unique
|
|
|
|
when other function names are allowed.
|
1999-09-29 15:17:24 +00:00
|
|
|
|
2001-07-19 13:10:50 +00:00
|
|
|
The default function name for @kbd{C-h f} to describe, if you type
|
|
|
|
just @key{RET}, is the name of the function called by the innermost Lisp
|
|
|
|
expression in the buffer around point, @emph{provided} that is a valid,
|
|
|
|
defined Lisp function name. For example, if point is located following
|
|
|
|
the text @samp{(make-vector (car x)}, the innermost list containing
|
|
|
|
point is the one that starts with @samp{(make-vector}, so the default is
|
|
|
|
to describe the function @code{make-vector}.
|
1999-09-29 15:17:24 +00:00
|
|
|
|
|
|
|
@kbd{C-h f} is often useful just to verify that you have the right
|
|
|
|
spelling for the function name. If @kbd{C-h f} mentions a name from the
|
|
|
|
buffer as the default, that name must be defined as a Lisp function. If
|
|
|
|
that is all you want to know, just type @kbd{C-g} to cancel the @kbd{C-h
|
|
|
|
f} command, then go on editing.
|
|
|
|
|
|
|
|
@kbd{C-h v} (@code{describe-variable}) is like @kbd{C-h f} but describes
|
|
|
|
Lisp variables instead of Lisp functions. Its default is the Lisp symbol
|
|
|
|
around or before point, but only if that is the name of a known Lisp
|
2005-03-06 17:25:06 +00:00
|
|
|
variable. @xref{Variables}.
|
|
|
|
|
|
|
|
Help buffers describing Emacs variables and functions normally have
|
|
|
|
hyperlinks to the definition, if you have the source files installed.
|
|
|
|
(@xref{Hyperlinking}.) If you know Lisp (or C), this provides the
|
|
|
|
ultimate documentation. If you don't know Lisp, you should learn it.
|
|
|
|
If you are just @emph{using} Emacs, treating Emacs as an object
|
|
|
|
(file), then you don't really love it. For true intimacy with your
|
|
|
|
editor, you need to read the source code.
|
2001-02-17 17:28:52 +00:00
|
|
|
|
1999-09-29 15:17:24 +00:00
|
|
|
@node Apropos
|
|
|
|
@section Apropos
|
|
|
|
|
|
|
|
@kindex C-h a
|
|
|
|
@findex apropos-command
|
|
|
|
@cindex apropos
|
|
|
|
A more sophisticated sort of question to ask is, ``What are the
|
|
|
|
commands for working with files?'' To ask this question, type @kbd{C-h
|
|
|
|
a file @key{RET}}, which displays a list of all command names that
|
|
|
|
contain @samp{file}, including @code{copy-file}, @code{find-file}, and
|
|
|
|
so on. With each command name appears a brief description of how to use
|
|
|
|
the command, and what keys you can currently invoke it with. For
|
|
|
|
example, it would say that you can invoke @code{find-file} by typing
|
2001-02-19 04:15:26 +00:00
|
|
|
@kbd{C-x C-f}. The @kbd{a} in @kbd{C-h a} stands for ``Apropos'';
|
1999-09-29 15:17:24 +00:00
|
|
|
@kbd{C-h a} runs the command @code{apropos-command}. This command
|
|
|
|
normally checks only commands (interactive functions); if you specify a
|
|
|
|
prefix argument, it checks noninteractive functions as well.
|
|
|
|
|
2005-03-26 01:52:50 +00:00
|
|
|
Because @kbd{C-h a} looks only for commands matching the string you
|
|
|
|
specify, you may not find what you want on the first try. In that
|
|
|
|
case, don't just give up. You can give Apropos a list of words to
|
|
|
|
search for. When more than one word is specified, at least two of
|
|
|
|
those words must be present for an item to match. If you are looking
|
|
|
|
for commands to kill a chunk of text before point, try @kbd{C-h a kill
|
|
|
|
back behind before @key{RET}}. For even greater flexibility, you can
|
|
|
|
also supply a regular expression to Apropos (@pxref{Regexps}).
|
1999-09-29 15:17:24 +00:00
|
|
|
|
|
|
|
Here is a set of arguments to give to @kbd{C-h a} that covers many
|
|
|
|
classes of Emacs commands, since there are strong conventions for naming
|
|
|
|
the standard Emacs commands. By giving you a feel for the naming
|
|
|
|
conventions, this set should also serve to aid you in developing a
|
|
|
|
technique for picking @code{apropos} strings.
|
|
|
|
|
|
|
|
@quotation
|
|
|
|
char, line, word, sentence, paragraph, region, page, sexp, list, defun,
|
|
|
|
rect, buffer, frame, window, face, file, dir, register, mode, beginning, end,
|
|
|
|
forward, backward, next, previous, up, down, search, goto, kill, delete,
|
|
|
|
mark, insert, yank, fill, indent, case, change, set, what, list, find,
|
|
|
|
view, describe, default.
|
|
|
|
@end quotation
|
|
|
|
|
|
|
|
@findex apropos-variable
|
|
|
|
To list all user variables that match a regexp, use the command
|
2005-01-30 11:23:17 +00:00
|
|
|
@kbd{M-x apropos-variable}. By default, this command shows only
|
|
|
|
variables meant for user customization; if you specify a prefix
|
|
|
|
argument, it checks all variables.
|
1999-09-29 15:17:24 +00:00
|
|
|
|
|
|
|
@findex apropos
|
|
|
|
To list all Lisp symbols that contain a match for a regexp, not just
|
|
|
|
the ones that are defined as commands, use the command @kbd{M-x apropos}
|
|
|
|
instead of @kbd{C-h a}. This command does not check key bindings by
|
|
|
|
default; specify a numeric argument if you want it to check them.
|
|
|
|
|
|
|
|
@findex apropos-documentation
|
|
|
|
The @code{apropos-documentation} command is like @code{apropos} except
|
|
|
|
that it searches documentation strings as well as symbol names for
|
|
|
|
matches for the specified regular expression.
|
|
|
|
|
|
|
|
@findex apropos-value
|
|
|
|
The @code{apropos-value} command is like @code{apropos} except that it
|
|
|
|
searches symbols' values for matches for the specified regular
|
|
|
|
expression. This command does not check function definitions or
|
|
|
|
property lists by default; specify a numeric argument if you want it to
|
|
|
|
check them.
|
|
|
|
|
|
|
|
@vindex apropos-do-all
|
|
|
|
If the variable @code{apropos-do-all} is non-@code{nil}, the commands
|
|
|
|
above all behave as if they had been given a prefix argument.
|
|
|
|
|
2005-03-26 01:52:50 +00:00
|
|
|
@vindex apropos-sort-by-scores
|
2005-03-26 17:27:18 +00:00
|
|
|
@cindex apropos search results, order by score
|
2005-03-26 01:52:50 +00:00
|
|
|
By default, Apropos lists the search results in alphabetical order.
|
|
|
|
If the variable @code{apropos-sort-by-scores} is non-@code{nil},
|
|
|
|
Apropos tries to guess the relevance of each result, and displays the
|
|
|
|
most relevant ones first.
|
|
|
|
|
1999-09-29 15:17:24 +00:00
|
|
|
If you want more information about a function definition, variable or
|
|
|
|
symbol property listed in the Apropos buffer, you can click on it with
|
2005-02-16 10:04:34 +00:00
|
|
|
@kbd{Mouse-1} or @kbd{Mouse-2}, or move there and type @key{RET}.
|
1999-09-29 15:17:24 +00:00
|
|
|
|
|
|
|
@node Library Keywords
|
|
|
|
@section Keyword Search for Lisp Libraries
|
|
|
|
|
|
|
|
@kindex C-h p
|
|
|
|
@findex finder-by-keyword
|
|
|
|
The @kbd{C-h p} command lets you search the standard Emacs Lisp
|
|
|
|
libraries by topic keywords. Here is a partial list of keywords you can
|
|
|
|
use:
|
|
|
|
|
2003-07-07 20:42:32 +00:00
|
|
|
@multitable {emulations} {aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
|
|
|
|
@item abbrev@tab abbreviation handling, typing shortcuts, macros.
|
2004-03-22 07:24:46 +00:00
|
|
|
@item bib@tab code related to the @code{bib} bibliography processor.
|
|
|
|
@item c@tab support for the C language and related languages.
|
2003-07-07 20:42:32 +00:00
|
|
|
@item calendar@tab calendar and time management support.
|
|
|
|
@item comm@tab communications, networking, remote access to files.
|
2004-03-22 07:24:46 +00:00
|
|
|
@item convenience@tab convenience features for faster editing.
|
2003-07-07 20:42:32 +00:00
|
|
|
@item data@tab support for editing files of data.
|
|
|
|
@item docs@tab support for Emacs documentation.
|
|
|
|
@item emulations@tab emulations of other editors.
|
|
|
|
@item extensions@tab Emacs Lisp language extensions.
|
2004-03-22 07:24:46 +00:00
|
|
|
@item faces@tab support for multiple fonts.
|
|
|
|
@item files@tab support for editing and manipulating files.
|
2003-07-07 20:42:32 +00:00
|
|
|
@item frames@tab support for Emacs frames and window systems.
|
|
|
|
@item games@tab games, jokes and amusements.
|
|
|
|
@item hardware@tab support for interfacing with exotic hardware.
|
|
|
|
@item help@tab support for on-line help systems.
|
2004-03-22 07:24:46 +00:00
|
|
|
@item hypermedia@tab support for links between text or other media types.
|
2003-07-07 20:42:32 +00:00
|
|
|
@item i18n@tab internationalization and alternate character-set support.
|
|
|
|
@item internal@tab code for Emacs internals, build process, defaults.
|
|
|
|
@item languages@tab specialized modes for editing programming languages.
|
2004-03-22 07:24:46 +00:00
|
|
|
@item lisp@tab Lisp support, including Emacs Lisp.
|
|
|
|
@item local@tab code local to your site.
|
2003-07-07 20:42:32 +00:00
|
|
|
@item maint@tab maintenance aids for the Emacs development group.
|
|
|
|
@item mail@tab modes for electronic-mail handling.
|
2004-03-22 07:24:46 +00:00
|
|
|
@item matching@tab various sorts of searching and matching.
|
|
|
|
@item mouse@tab mouse support.
|
|
|
|
@item multimedia@tab images and sound support.
|
2003-07-07 20:42:32 +00:00
|
|
|
@item news@tab support for netnews reading and posting.
|
|
|
|
@item oop@tab support for object-oriented programming.
|
2004-03-22 07:24:46 +00:00
|
|
|
@item outlines@tab support for hierarchical outlining.
|
2003-07-07 20:42:32 +00:00
|
|
|
@item processes@tab process, subshell, compilation, and job control support.
|
|
|
|
@item terminals@tab support for terminal types.
|
2004-03-22 07:24:46 +00:00
|
|
|
@item tex@tab supporting code for the @TeX{} formatter.
|
2003-07-07 20:42:32 +00:00
|
|
|
@item tools@tab programming tools.
|
2004-03-22 07:24:46 +00:00
|
|
|
@item unix@tab front-ends/assistants for, or emulators of, UNIX-like features.
|
2003-07-07 20:42:32 +00:00
|
|
|
@item wp@tab word processing.
|
|
|
|
@end multitable
|
1999-09-29 15:17:24 +00:00
|
|
|
|
|
|
|
@node Language Help
|
|
|
|
@section Help for International Language Support
|
|
|
|
|
|
|
|
You can use the command @kbd{C-h L}
|
2001-07-17 10:50:35 +00:00
|
|
|
(@code{describe-language-environment}) to find out information about
|
|
|
|
the support for a specific language environment. @xref{Language
|
|
|
|
Environments}. This tells you which languages this language
|
|
|
|
environment is useful for, and lists the character sets, coding
|
|
|
|
systems, and input methods that go with it. It also shows some sample
|
|
|
|
text to illustrate scripts.
|
1999-09-29 15:17:24 +00:00
|
|
|
|
|
|
|
The command @kbd{C-h h} (@code{view-hello-file}) displays the file
|
|
|
|
@file{etc/HELLO}, which shows how to say ``hello'' in many languages.
|
|
|
|
|
|
|
|
The command @kbd{C-h I} (@code{describe-input-method}) describes
|
|
|
|
information about input methods---either a specified input method, or by
|
|
|
|
default the input method in use. @xref{Input Methods}.
|
|
|
|
|
|
|
|
The command @kbd{C-h C} (@code{describe-coding-system}) describes
|
|
|
|
information about coding systems---either a specified coding system, or
|
|
|
|
the ones currently in use. @xref{Coding Systems}.
|
|
|
|
|
|
|
|
@node Help Mode
|
|
|
|
@section Help Mode Commands
|
|
|
|
|
2001-07-19 13:10:50 +00:00
|
|
|
Help buffers provide the same commands as View mode (@pxref{Misc File
|
|
|
|
Ops}), plus a few special commands of their own.
|
1999-09-29 15:17:24 +00:00
|
|
|
|
|
|
|
@table @kbd
|
|
|
|
@item @key{SPC}
|
|
|
|
Scroll forward.
|
|
|
|
@item @key{DEL}
|
2001-03-08 08:21:11 +00:00
|
|
|
@itemx @key{BS}
|
|
|
|
Scroll backward. On some keyboards, this key is known as @key{BS} or
|
|
|
|
@key{backspace}.
|
1999-09-29 15:17:24 +00:00
|
|
|
@item @key{RET}
|
|
|
|
Follow a cross reference at point.
|
|
|
|
@item @key{TAB}
|
|
|
|
Move point forward to the next cross reference.
|
|
|
|
@item S-@key{TAB}
|
|
|
|
Move point back to the previous cross reference.
|
2005-02-16 10:04:34 +00:00
|
|
|
@item Mouse-1
|
|
|
|
@itemx Mouse-2
|
1999-09-29 15:17:24 +00:00
|
|
|
Follow a cross reference that you click on.
|
|
|
|
@end table
|
|
|
|
|
2005-02-16 10:04:34 +00:00
|
|
|
When a function name (@pxref{M-x,, Running Commands by Name}) or
|
1999-09-29 15:17:24 +00:00
|
|
|
variable name (@pxref{Variables}) appears in the documentation, it
|
2005-02-16 10:04:34 +00:00
|
|
|
normally appears inside paired single-quotes. You can click on the
|
|
|
|
name with @kbd{Mouse-1} or @kbd{Mouse-2}, or move point there and type
|
|
|
|
@key{RET}, to view the documentation of that command or variable. Use
|
|
|
|
@kbd{C-c C-b} to retrace your steps.
|
1999-09-29 15:17:24 +00:00
|
|
|
|
2005-10-31 01:29:17 +00:00
|
|
|
@cindex URL, viewing in help
|
|
|
|
@cindex help, viewing web pages
|
|
|
|
@cindex viewing web pages in help
|
|
|
|
@cindex web pages, viewing in help
|
|
|
|
@findex browse-url
|
2005-11-01 17:32:46 +00:00
|
|
|
You can follow cross references to URLs (web pages) as well. When
|
2005-10-31 01:29:17 +00:00
|
|
|
you follow a cross reference that is a URL, the @code{browse-url}
|
|
|
|
command is used to view the web page in a browser of your choosing.
|
|
|
|
@xref{Browse-URL}.
|
|
|
|
|
1999-09-29 15:17:24 +00:00
|
|
|
@kindex @key{TAB} @r{(Help mode)}
|
|
|
|
@findex help-next-ref
|
|
|
|
@kindex S-@key{TAB} @r{(Help mode)}
|
|
|
|
@findex help-previous-ref
|
|
|
|
There are convenient commands for moving point to cross references in
|
|
|
|
the help text. @key{TAB} (@code{help-next-ref}) moves point down to the
|
|
|
|
next cross reference. Use @kbd{S-@key{TAB}} to move point up to the
|
|
|
|
previous cross reference (@code{help-previous-ref}).
|
|
|
|
|
|
|
|
@node Misc Help
|
|
|
|
@section Other Help Commands
|
|
|
|
|
|
|
|
@kindex C-h i
|
|
|
|
@findex info
|
|
|
|
@cindex Info
|
|
|
|
@cindex manuals, on-line
|
|
|
|
@cindex on-line manuals
|
|
|
|
@kbd{C-h i} (@code{info}) runs the Info program, which is used for
|
|
|
|
browsing through structured documentation files. The entire Emacs manual
|
2001-07-19 13:10:50 +00:00
|
|
|
is available within Info. Eventually all the documentation of the GNU
|
1999-09-29 15:17:24 +00:00
|
|
|
system will be available. Type @kbd{h} after entering Info to run
|
|
|
|
a tutorial on using Info.
|
|
|
|
|
2004-08-21 11:58:30 +00:00
|
|
|
@cindex find Info manual by its file name
|
2005-03-21 18:17:37 +00:00
|
|
|
With a numeric argument, @kbd{C-h i} selects an Info buffer with the
|
|
|
|
number appended to the default @samp{*info*} buffer name
|
|
|
|
(e.g. @samp{*info*<2>}). This is useful if you want to browse
|
|
|
|
multiple Info manuals simultaneously. If you specify just @kbd{C-u}
|
|
|
|
as the prefix argument, @kbd{C-h i} prompts for the name of a
|
|
|
|
documentation file. This way, you can browse a file which doesn't
|
1999-09-29 15:17:24 +00:00
|
|
|
have an entry in the top-level Info menu. It is also handy when you
|
2005-03-21 18:17:37 +00:00
|
|
|
need to get to the documentation quickly, and you know the exact name
|
|
|
|
of the file.
|
1999-09-29 15:17:24 +00:00
|
|
|
|
2002-07-07 23:46:55 +00:00
|
|
|
@kindex C-h F
|
|
|
|
@kindex C-h K
|
1999-09-29 15:17:24 +00:00
|
|
|
@findex Info-goto-emacs-key-command-node
|
|
|
|
@findex Info-goto-emacs-command-node
|
2002-07-07 23:46:55 +00:00
|
|
|
There are two special help commands for accessing Emacs
|
|
|
|
documentation through Info. @kbd{C-h F @var{function} @key{RET}}
|
|
|
|
enters Info and goes straight to the documentation of the Emacs
|
|
|
|
function @var{function}. @kbd{C-h K @var{key}} enters Info and goes
|
|
|
|
straight to the documentation of the key @var{key}. These two keys
|
|
|
|
run the commands @code{Info-goto-emacs-command-node} and
|
|
|
|
@code{Info-goto-emacs-key-command-node}. You can use @kbd{C-h K} to
|
2001-09-20 15:46:17 +00:00
|
|
|
find the documentation of a menu item: just select that menu item when
|
2002-07-07 23:46:55 +00:00
|
|
|
@kbd{C-h K} prompts for a key.
|
2001-09-20 15:46:17 +00:00
|
|
|
|
2002-07-07 23:46:55 +00:00
|
|
|
@kbd{C-h F} and @kbd{C-h K} know about commands and keys described
|
|
|
|
in manuals other than the Emacs manual. Thus, they make it easier to
|
|
|
|
find the documentation of commands and keys when you are not sure
|
|
|
|
which manual describes them, like when using some specialized mode.
|
1999-09-29 15:17:24 +00:00
|
|
|
|
2002-07-07 23:46:55 +00:00
|
|
|
@kindex C-h S
|
|
|
|
@findex info-lookup-symbol
|
|
|
|
When editing a program, if you have an Info version of the manual
|
|
|
|
for the programming language, you can use the command @kbd{C-h S}
|
|
|
|
(@code{info-lookup-symbol}) to refer to the manual documentation for a
|
|
|
|
symbol (keyword, function or variable). The details of how this
|
|
|
|
command works depend on the major mode.
|
1999-09-29 15:17:24 +00:00
|
|
|
|
|
|
|
@kindex C-h l
|
|
|
|
@findex view-lossage
|
|
|
|
If something surprising happens, and you are not sure what commands you
|
2001-08-20 04:20:06 +00:00
|
|
|
typed, use @kbd{C-h l} (@code{view-lossage}). @kbd{C-h l} displays the last
|
1999-09-29 15:17:24 +00:00
|
|
|
100 command characters you typed in. If you see commands that you don't
|
|
|
|
know, you can use @kbd{C-h c} to find out what they do.
|
|
|
|
|
2002-07-07 23:46:55 +00:00
|
|
|
@kindex C-h e
|
|
|
|
@findex view-echo-area-messages
|
|
|
|
To review messages that recently appeared in the echo area, use
|
|
|
|
@kbd{C-h e} (@code{view-echo-area-messages}). This displays the
|
|
|
|
buffer @code{*Messages*}, where those messages are kept.
|
|
|
|
|
1999-09-29 15:17:24 +00:00
|
|
|
@kindex C-h m
|
|
|
|
@findex describe-mode
|
|
|
|
Emacs has numerous major modes, each of which redefines a few keys and
|
|
|
|
makes a few other changes in how editing works. @kbd{C-h m}
|
2001-08-20 04:20:06 +00:00
|
|
|
(@code{describe-mode}) displays documentation on the current major mode,
|
1999-09-29 15:17:24 +00:00
|
|
|
which normally describes all the commands that are changed in this
|
|
|
|
mode.
|
|
|
|
|
|
|
|
@kindex C-h b
|
|
|
|
@findex describe-bindings
|
|
|
|
@kbd{C-h b} (@code{describe-bindings}) and @kbd{C-h s}
|
|
|
|
(@code{describe-syntax}) present other information about the current
|
|
|
|
Emacs mode. @kbd{C-h b} displays a list of all the key bindings now in
|
2001-07-17 10:50:35 +00:00
|
|
|
effect, showing the local bindings defined by the current minor modes first,
|
1999-09-29 15:17:24 +00:00
|
|
|
then the local bindings defined by the current major mode, and finally
|
|
|
|
the global bindings (@pxref{Key Bindings}). @kbd{C-h s} displays the
|
|
|
|
contents of the syntax table, with explanations of each character's
|
|
|
|
syntax (@pxref{Syntax}).
|
|
|
|
|
|
|
|
You can get a similar list for a particular prefix key by typing
|
|
|
|
@kbd{C-h} after the prefix key. (There are a few prefix keys for which
|
|
|
|
this does not work---those that provide their own bindings for
|
|
|
|
@kbd{C-h}. One of these is @key{ESC}, because @kbd{@key{ESC} C-h} is
|
|
|
|
actually @kbd{C-M-h}, which marks a defun.)
|
|
|
|
|
2002-07-07 23:46:55 +00:00
|
|
|
@node Help Files
|
|
|
|
@section Help Files
|
|
|
|
|
|
|
|
The Emacs help commands described above display the state of data
|
|
|
|
bases within Emacs. Emacs has a few other help commands that display
|
|
|
|
pre-written help files. These commands all have the form @kbd{C-h
|
|
|
|
C-@var{char}}; that is, @kbd{C-h} followed by a control character.
|
|
|
|
|
1999-09-29 15:17:24 +00:00
|
|
|
@kindex C-h C-c
|
|
|
|
@findex describe-copying
|
|
|
|
@kindex C-h C-d
|
|
|
|
@findex describe-distribution
|
2002-07-07 23:46:55 +00:00
|
|
|
@kindex C-h C-e
|
|
|
|
@findex view-emacs-problems
|
|
|
|
@kindex C-h C-f
|
|
|
|
@findex view-emacs-FAQ
|
|
|
|
@kindex C-h C-n
|
|
|
|
@findex view-emacs-news
|
1999-09-29 15:17:24 +00:00
|
|
|
@kindex C-h C-p
|
|
|
|
@findex describe-project
|
2002-07-07 23:46:55 +00:00
|
|
|
@kindex C-h C-t
|
|
|
|
@findex view-emacs-todo
|
|
|
|
@kindex C-h C-w
|
|
|
|
@findex describe-no-warranty
|
2001-07-17 10:50:35 +00:00
|
|
|
The other @kbd{C-h} options display various files containing useful
|
2002-07-07 23:46:55 +00:00
|
|
|
information.
|
|
|
|
|
|
|
|
@table @kbd
|
|
|
|
@item C-h C-c
|
|
|
|
Displays the Emacs copying conditions (@code{describe-copying}).
|
|
|
|
These are the rules under which you can copy and redistribute Emacs.
|
|
|
|
@item C-h C-d
|
|
|
|
Displays information on how to download or order the latest version of
|
|
|
|
Emacs and other GNU software (@code{describe-distribution}).
|
|
|
|
@item C-h C-e
|
|
|
|
Displays the list of known Emacs problems, sometimes with suggested
|
|
|
|
workarounds (@code{view-emacs-problems}).
|
|
|
|
@item C-h C-f
|
|
|
|
Displays the Emacs frequently-answered-questions list (@code{view-emacs-FAQ}).
|
|
|
|
@item C-h C-n
|
|
|
|
Displays the Emacs ``news'' file, which lists new Emacs features, most
|
|
|
|
recent first (@code{view-emacs-news}).
|
|
|
|
@item C-h C-p
|
|
|
|
Displays general information about the GNU Project
|
|
|
|
(@code{describe-project}).
|
|
|
|
@item C-h C-t
|
|
|
|
Displays the Emacs to-do list (@code{view-todo}).
|
|
|
|
@item C-h C-w
|
|
|
|
Displays the full details on the complete absence of warranty for GNU
|
|
|
|
Emacs (@code{describe-no-warranty}).
|
|
|
|
@end table
|
2000-03-30 23:12:55 +00:00
|
|
|
|
|
|
|
@node Help Echo
|
|
|
|
@section Help on Active Text and Tooltips
|
|
|
|
|
|
|
|
@cindex tooltips
|
2001-07-17 10:50:35 +00:00
|
|
|
@cindex balloon help
|
2001-08-08 23:39:08 +00:00
|
|
|
When a region of text is ``active,'' so that you can select it with
|
2001-02-19 04:15:26 +00:00
|
|
|
the mouse or a key like @kbd{RET}, it often has associated help text.
|
2005-03-26 01:52:50 +00:00
|
|
|
Areas of the mode line are examples. On most window systems, the help
|
|
|
|
text is displayed as a ``tooltip'' (sometimes known as ``balloon
|
|
|
|
help''). @xref{Tooltips}. Otherwise, it is shown in the echo area
|
|
|
|
when you move point into the active text.
|
|
|
|
|
|
|
|
@kindex C-h .
|
|
|
|
@findex display-local-help
|
|
|
|
@vindex help-at-pt-display-when-idle
|
|
|
|
You can also access text region help info using the keyboard. The
|
|
|
|
command @kbd{C-h .} (@code{display-local-help}) displays any help text
|
|
|
|
associated with the text at point, using the echo area. If you want
|
|
|
|
help text to be displayed automatically whenever it is available at
|
|
|
|
point, set the variable @code{help-at-pt-display-when-idle} to
|
|
|
|
@code{t}.
|
2003-09-01 15:45:59 +00:00
|
|
|
|
|
|
|
@ignore
|
|
|
|
arch-tag: 6f33ab62-bc75-4367-8057-fd67cc15c3a1
|
|
|
|
@end ignore
|