849 lines
34 KiB
Plaintext
849 lines
34 KiB
Plaintext
@c This is part of the Emacs manual.
|
|
@c Copyright (C) 1985--1987, 1993--1995, 1997, 2000--2024 Free Software
|
|
@c Foundation, Inc.
|
|
@c See file emacs.texi for copying conditions.
|
|
@node Help
|
|
@chapter Help
|
|
@cindex help
|
|
@cindex self-documentation
|
|
@findex help-command
|
|
@kindex C-h
|
|
@kindex F1
|
|
|
|
@kindex C-h C-h
|
|
@findex help-for-help
|
|
Emacs provides a wide variety of help commands, all accessible
|
|
through the prefix key @kbd{C-h} (or, equivalently, the function key
|
|
@key{F1}). These help commands are described in the following
|
|
sections. You can also type @kbd{C-h C-h} to view a list of help
|
|
commands (@code{help-for-help}). You can scroll the list with
|
|
@key{SPC} and @key{DEL}, then type the help command you want. To
|
|
cancel, type @kbd{C-g}.
|
|
|
|
@cindex help buffer
|
|
Many help commands display their information in a special @dfn{help
|
|
buffer}. In this buffer, you can type @key{SPC} and @key{DEL} to
|
|
scroll and type @key{RET} to follow hyperlinks. @xref{Help Mode}.
|
|
|
|
@vindex help-window-select
|
|
By default, help commands display the help buffer in a separate
|
|
window without selecting that window. The variable
|
|
@code{help-window-select} controls this: its default value is
|
|
@code{nil}; if it's customized to the value @code{t}, the help window
|
|
is unconditionally selected by help commands, and if its value is
|
|
@code{other}, the help window is selected only if there are more than
|
|
two windows on the selected frame.
|
|
|
|
@vindex help-window-keep-selected
|
|
Conversely, many commands in the @samp{*Help*} buffer will pop up a
|
|
new window to display the results. For instance, clicking on the link
|
|
to show the source code, or using the @key{i} command to display the
|
|
manual entry, will (by default) pop up a new window. If
|
|
@code{help-window-keep-selected} is changed to non-@code{nil}, the
|
|
window displaying the @samp{*Help*} buffer will be reused instead.
|
|
|
|
@cindex searching documentation efficiently
|
|
@cindex looking for a subject in documentation
|
|
If you are looking for a certain feature, but don't know what it is
|
|
called or where to look, we recommend three methods. First, try an
|
|
apropos command, then try searching the manual index, then look in the
|
|
FAQ and the package keywords, and finally try listing external packages.
|
|
|
|
@table @kbd
|
|
@item C-h a @var{topics} @key{RET}
|
|
This searches for commands whose names match the argument
|
|
@var{topics}. The argument can be a keyword, a list of keywords, or a
|
|
regular expression (@pxref{Regexps}). @xref{Apropos}.
|
|
|
|
@item C-h i d m emacs @key{RET} i @var{topic} @key{RET}
|
|
This searches for @var{topic} in the indices of the Emacs Info manual,
|
|
displaying the first match found. Press @kbd{,} to see subsequent
|
|
matches. You can use a regular expression as @var{topic}.
|
|
|
|
@item C-h i d m emacs @key{RET} s @var{topic} @key{RET}
|
|
Similar, but searches the @emph{text} of the manual rather than the
|
|
indices.
|
|
|
|
@item C-h C-f
|
|
This displays the Emacs FAQ, using Info.
|
|
|
|
@item C-h p
|
|
This displays the available Emacs packages based on keywords.
|
|
@xref{Package Keywords}.
|
|
|
|
@item M-x list-packages
|
|
This displays a list of external packages. @xref{Packages}.
|
|
@end table
|
|
|
|
@kbd{C-h} or @key{F1} mean ``help'' in various other contexts as
|
|
well. For instance, you can type them after a prefix key to view a
|
|
list of the keys that can follow the prefix key. (You can also use
|
|
@kbd{?} in this context. A few prefix keys don't support @kbd{C-h}
|
|
or @kbd{?} in this way, because they define other meanings for those
|
|
inputs, but they all support @key{F1}.)
|
|
|
|
@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.
|
|
* Help Mode:: Special features of Help mode and Help buffers.
|
|
* Package Keywords:: Finding Lisp libraries by keywords (topics).
|
|
* Language Help:: Help relating to international language support.
|
|
* Misc Help:: Other help commands.
|
|
* Help Files:: Commands to display auxiliary help files.
|
|
* Help Echo:: Help on active text and tooltips (``balloon help'').
|
|
@end menu
|
|
|
|
@iftex
|
|
@node Help Summary
|
|
@end iftex
|
|
@ifnottex
|
|
@node Help Summary
|
|
@section Help Summary
|
|
@end ifnottex
|
|
|
|
Here is a summary of help commands for accessing the built-in
|
|
documentation. Most of these are described in more detail in the
|
|
following sections.
|
|
|
|
@table @kbd
|
|
@item C-h a @var{topics} @key{RET}
|
|
Display a list of commands whose names match @var{topics}
|
|
(@code{apropos-command}). @xref{Apropos}.
|
|
@item C-h b
|
|
Display all active key bindings; minor mode bindings first, then those
|
|
of the major mode, then global bindings (@code{describe-bindings}).
|
|
@xref{Misc Help}.
|
|
@item C-h C-q
|
|
Toggle display of a window showing popular commands and their key
|
|
bindings. @xref{Misc Help}.
|
|
@item C-h c @var{key}
|
|
Show the name of the command that the key sequence @var{key} is bound
|
|
to (@code{describe-key-briefly}). Here @kbd{c} stands for
|
|
``character''. For more extensive information on @var{key}, use
|
|
@kbd{C-h k}. @xref{Key Help}.
|
|
@item C-h d @var{topics} @key{RET}
|
|
Display the commands and variables whose documentation matches
|
|
@var{topics} (@code{apropos-documentation}). @xref{Apropos}.
|
|
@item C-h e
|
|
Display the @file{*Messages*} buffer
|
|
(@code{view-echo-area-messages}). @xref{Misc Help}.
|
|
@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, this
|
|
works for commands too, but you can also use @code{C-h x}. @xref{Name Help}.
|
|
@item C-h h
|
|
Display the @file{HELLO} file, which shows examples of various character
|
|
sets.
|
|
@item C-h i
|
|
Run Info, the GNU documentation browser (@code{info}). The Emacs
|
|
manual is available in Info. @xref{Misc Help}.
|
|
@item C-h k @var{key}
|
|
Display the name and documentation of the command that @var{key} runs
|
|
(@code{describe-key}). @xref{Key Help}.
|
|
@item C-h l
|
|
Display a description of your last 300 keystrokes
|
|
(@code{view-lossage}). @xref{Misc Help}.
|
|
@item C-h m
|
|
Display documentation of the current major mode and minor modes
|
|
(@code{describe-mode}). @xref{Misc Help}.
|
|
@item C-h n
|
|
Display news of recent Emacs changes (@code{view-emacs-news}).
|
|
@xref{Help Files}.
|
|
@item C-h o @var{symbol}
|
|
Display documentation of the Lisp symbol named @var{symbol}
|
|
(@code{describe-symbol}). This will show the documentation of all
|
|
kinds of symbols: functions, variables, and faces. @xref{Name Help}.
|
|
@item C-h p
|
|
Find packages by topic keyword (@code{finder-by-keyword}).
|
|
@xref{Package Keywords}. This lists packages using a package menu
|
|
buffer. @xref{Packages}.
|
|
@item C-h P @var{package} @key{RET}
|
|
Display documentation about the specified package
|
|
(@code{describe-package}). @xref{Package Keywords}.
|
|
@item C-h r
|
|
Display the Emacs manual in Info (@code{info-emacs-manual}).
|
|
@item C-h s
|
|
Display the contents of the current @dfn{syntax table}
|
|
(@code{describe-syntax}). @xref{Misc Help}. The syntax table says
|
|
which characters are opening delimiters, which are parts of words, and
|
|
so on. @xref{Syntax Tables,, Syntax Tables, elisp, The Emacs Lisp
|
|
Reference Manual}, for details.
|
|
@item C-h t
|
|
Enter the Emacs interactive tutorial (@code{help-with-tutorial}).
|
|
@item C-h v @var{var} @key{RET}
|
|
Display the documentation of the Lisp variable @var{var}
|
|
(@code{describe-variable}). @xref{Name Help}.
|
|
@item C-h w @var{command} @key{RET}
|
|
Show which keys run the command named @var{command} (@code{where-is}).
|
|
@xref{Key Help}.
|
|
@item C-h x @var{command} @key{RET}
|
|
Display documentation on the named @var{command}
|
|
(@code{describe-command}). @xref{Name Help}.
|
|
@item C-h C @var{coding} @key{RET}
|
|
Describe the coding system @var{coding}
|
|
(@code{describe-coding-system}). @xref{Coding Systems}.
|
|
@item C-h C @key{RET}
|
|
Describe the coding systems currently in use.
|
|
@item C-h F @var{command} @key{RET}
|
|
Enter Info and go to the node that documents the Emacs command
|
|
@var{command} (@code{Info-goto-emacs-command-node}). @xref{Name Help}.
|
|
@item C-h I @var{method} @key{RET}
|
|
Describe the input method @var{method} (@code{describe-input-method}).
|
|
@xref{Select Input Method}.
|
|
@item C-h K @var{key}
|
|
Enter Info and go to the node that documents the key sequence
|
|
@var{key} (@code{Info-goto-emacs-key-command-node}). @xref{Key Help}.
|
|
@item C-h L @var{language-env} @key{RET}
|
|
Display information on the character sets, coding systems, and input
|
|
methods used in language environment @var{language-env}
|
|
(@code{describe-language-environment}). @xref{Language Environments}.
|
|
@item C-h S @var{symbol} @key{RET}
|
|
Display the Info documentation on symbol @var{symbol} according to the
|
|
programming language you are editing (@code{info-lookup-symbol}).
|
|
@xref{Misc Help}.
|
|
@item C-h .
|
|
Display the help message for a special text area, if point is in one
|
|
(@code{display-local-help}). (These include, for example, links in
|
|
@file{*Help*} buffers.) @xref{Help Echo}. If you invoke
|
|
this command with a prefix argument, @kbd{C-u C-h .}, and point is on
|
|
a button or a widget, this command will pop a new buffer that
|
|
describes that button/widget.
|
|
@end table
|
|
|
|
@node Key Help
|
|
@section Documentation for a Key
|
|
|
|
@findex describe-key-briefly
|
|
@findex describe-key
|
|
The help commands to get information about a key sequence are
|
|
@kbd{C-h c} (@code{describe-key-briefly}) and @kbd{C-h k}
|
|
(@code{describe-key}).
|
|
|
|
@kindex C-h c
|
|
@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 @samp{forward-char}.
|
|
|
|
@cindex documentation string
|
|
@kindex C-h k
|
|
@kbd{C-h k @var{key}} is similar but gives more information: it
|
|
displays a help buffer containing the command's @dfn{documentation
|
|
string}, which describes exactly what the command does.
|
|
|
|
@kindex C-h K
|
|
@findex Info-goto-emacs-key-command-node
|
|
@kbd{C-h K @var{key}} displays the section of the Emacs manual that
|
|
describes the command corresponding to @var{key}.
|
|
|
|
@kbd{C-h c}, @kbd{C-h k} and @kbd{C-h K} work for any sort of key
|
|
sequences, including function keys, menus, and mouse events (except
|
|
that @kbd{C-h c} ignores mouse movement events). For instance, after
|
|
@kbd{C-h k} you can select a menu item from the menu bar, to view the
|
|
documentation string of the command it runs.
|
|
|
|
@kindex C-h w
|
|
@findex where-is
|
|
@kbd{C-h w @var{command} @key{RET}} lists the keys that are bound to
|
|
@var{command}. It displays the list in the echo area. If it says the
|
|
command is not on any key, that means you must use @kbd{M-x} to run
|
|
it. @kbd{C-h w} runs the command @code{where-is}.
|
|
|
|
@findex button-describe
|
|
@findex widget-describe
|
|
Some modes in Emacs use various buttons (@pxref{Buttons,,,elisp, The
|
|
Emacs Lisp Reference Manual}) and widgets
|
|
(@pxref{Introduction,,,widget, Emacs Widgets}) that can be clicked to
|
|
perform some action. To find out what function is ultimately invoked
|
|
by these buttons, Emacs provides the @code{button-describe} and
|
|
@code{widget-describe} commands, that should be run with point over
|
|
the button.
|
|
|
|
@anchor{which-key}
|
|
@kbd{M-x which-key} is a global minor mode which helps in discovering
|
|
keymaps. It displays keybindings following your currently entered
|
|
incomplete command (prefix), in a popup.
|
|
|
|
@node Name Help
|
|
@section Help by Command or Variable Name
|
|
|
|
@kindex C-h x
|
|
@findex describe-command
|
|
@kbd{C-h x @var{command} @key{RET}} (@code{describe-command})
|
|
displays the documentation of the named @var{command}, in a
|
|
window. For example,
|
|
|
|
@example
|
|
C-h x auto-fill-mode @key{RET}
|
|
@end example
|
|
|
|
@noindent
|
|
displays the documentation of @code{auto-fill-mode}. This is how you
|
|
would get the documentation of a command that is not bound to any key
|
|
(one which you would normally run using @kbd{M-x}).
|
|
|
|
@kindex C-h f
|
|
@findex describe-function
|
|
@kbd{C-h f @var{function} @key{RET}} (@code{describe-function})
|
|
displays the documentation of Lisp @var{function}. This command is
|
|
intended for Lisp functions that you 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 @w{@kbd{C-h f make-vector @key{RET}}}.
|
|
Additionally, since all commands are Lisp functions, you can also use
|
|
this command to view the documentation of any command.
|
|
|
|
If you type @kbd{C-h f @key{RET}}, it describes the function called
|
|
by the innermost Lisp expression in the buffer around point,
|
|
@emph{provided} that function name is a valid, defined Lisp function.
|
|
(That name appears as the default while you enter the argument.) 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 @w{@kbd{C-h f @key{RET}}} describes the
|
|
function @code{make-vector}.
|
|
|
|
@kbd{C-h f} is also useful just to verify that you spelled a
|
|
function name correctly. If the minibuffer prompt for @kbd{C-h f}
|
|
shows the function name from the buffer as the default, it means that
|
|
name is defined as a Lisp function. Type @kbd{C-g} to cancel the
|
|
@kbd{C-h f} command if you don't really want to view the
|
|
documentation.
|
|
|
|
The function's documentation displayed by @code{describe-function}
|
|
includes more than just the documentation string and the signature of
|
|
the function. It also shows auxiliary information such as its type, the
|
|
file where it was defined, whether it has been declared obsolete, and
|
|
yet further information is often reachable by clicking or typing
|
|
@key{RET} on emphasized parts of the text.
|
|
|
|
@vindex help-enable-symbol-autoload
|
|
If you request help for an autoloaded function whose @code{autoload}
|
|
form (@pxref{Autoload,,, elisp, The Emacs Lisp Reference Manual})
|
|
doesn't provide a doc string, the @file{*Help*} buffer won't have any
|
|
doc string to display. In that case, if
|
|
@code{help-enable-symbol-autoload} is non-@code{nil}, Emacs will try
|
|
to load the file in which the function is defined to see whether
|
|
there's a doc string there.
|
|
|
|
@findex shortdoc
|
|
You can get an overview of functions relevant for a particular topic
|
|
by using the @kbd{M-x shortdoc} command. This will prompt you for an
|
|
area of interest, e.g., @code{string}, and pop you to a buffer where
|
|
many of the functions relevant for handling strings are listed.
|
|
|
|
You can also request that documentation of functions and commands
|
|
shown in @file{*Help*} buffers popped by @kbd{C-h f} includes examples
|
|
of their use. To that end, add the following to your initialization
|
|
file (@pxref{Init File}):
|
|
|
|
@example
|
|
(add-hook 'help-fns-describe-function-functions
|
|
#'shortdoc-help-fns-examples-function)
|
|
@end example
|
|
|
|
@kindex C-h v
|
|
@findex describe-variable
|
|
@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, if that is the name of a
|
|
defined Lisp variable. @xref{Variables}.
|
|
|
|
Help buffers that describe Emacs variables and functions normally
|
|
have hyperlinks to the corresponding source code, if you have the
|
|
source files installed (@pxref{Hyperlinking}).
|
|
|
|
@kindex C-h F
|
|
@findex Info-goto-emacs-command-node
|
|
To find a command's documentation in a manual, use @kbd{C-h F}
|
|
(@code{Info-goto-emacs-command-node}). This knows about various
|
|
manuals, not just the Emacs manual, and finds the right one.
|
|
|
|
@kindex C-h o
|
|
@findex describe-symbol
|
|
@kbd{C-h o} (@code{describe-symbol}) is like @kbd{C-h f} and
|
|
@kbd{C-h v}, but it describes any symbol, be it a function, a
|
|
variable, or a face. If the symbol has more than one definition, like
|
|
it has both definition as a function and as a variable, this command
|
|
will show the documentation of all of them, one after the other.
|
|
|
|
@kindex C-h 4 s
|
|
@findex help-find-source
|
|
@kbd{C-h 4 s} (@code{help-find-source}) switch to a buffer visiting
|
|
the source definition of what is being described in the help buffer.
|
|
|
|
@vindex completions-detailed
|
|
If the @code{completions-detailed} user option is non-@code{nil},
|
|
some commands provide details about the possible values when
|
|
displaying completions. For instance, @kbd{C-h o TAB} will then
|
|
include the first line of the doc string, and will also say whether
|
|
each symbol is a function or a variable (and so on). Which details
|
|
are included varies depending on the command used.
|
|
|
|
@node Apropos
|
|
@section Apropos
|
|
@cindex apropos
|
|
|
|
The @dfn{apropos} commands answer questions like, ``What are the
|
|
commands for working with files?'' More precisely, you specify your
|
|
query as an @dfn{apropos pattern}, which is either a word, a list of
|
|
words, or a regular expression.
|
|
|
|
Each of the following apropos commands reads an apropos pattern in
|
|
the minibuffer, searches for items that match the pattern, and
|
|
displays the results in a different window.
|
|
|
|
@table @kbd
|
|
@item C-h a
|
|
@kindex C-h a
|
|
@findex apropos-command
|
|
Search for commands (@code{apropos-command}). With a prefix argument,
|
|
search for noninteractive functions too.
|
|
|
|
@item M-x apropos
|
|
@findex apropos
|
|
Search for functions and variables. Both interactive functions
|
|
(commands) and noninteractive functions can be found by this.
|
|
|
|
@item M-x apropos-user-option
|
|
@findex apropos-user-option
|
|
Search for user-customizable variables. With a prefix argument,
|
|
search for non-customizable variables too.
|
|
|
|
@item M-x apropos-variable
|
|
@findex apropos-variable
|
|
Search for variables. With a prefix argument, search for
|
|
customizable variables only.
|
|
|
|
@item M-x apropos-local-variable
|
|
@findex apropos-local-variable
|
|
Search for buffer-local variables.
|
|
|
|
@item M-x apropos-value
|
|
@findex apropos-value
|
|
Search for variables whose values match the specified pattern. With a
|
|
prefix argument, search also for functions with definitions matching
|
|
the pattern, and Lisp symbols with properties matching the pattern.
|
|
|
|
@item M-x apropos-local-value
|
|
@findex apropos-local-value
|
|
Search for buffer-local variables whose values match the specified
|
|
pattern.
|
|
|
|
@item C-h d
|
|
@kindex C-h d
|
|
@findex apropos-documentation
|
|
Search for functions and variables whose documentation strings match
|
|
the specified pattern (@code{apropos-documentation}).
|
|
@end table
|
|
|
|
The simplest kind of apropos pattern is one word. Anything
|
|
containing that word matches the pattern. Thus, to find commands that
|
|
work on files, type @kbd{C-h a file @key{RET}}. This displays a list
|
|
of all command names that contain @samp{file}, including
|
|
@code{copy-file}, @code{find-file}, and so on. Each command name
|
|
comes with a brief description and a list of keys you can currently
|
|
invoke it with. In our example, it would say that you can invoke
|
|
@code{find-file} by typing @kbd{C-x C-f}.
|
|
|
|
@vindex help-window-select@r{, and apropos commands}
|
|
By default, the window showing the apropos buffer with the results
|
|
of the query is not selected, but you can cause it to be selected by
|
|
customizing the variable @code{help-window-select} to any
|
|
non-@code{nil} value.
|
|
|
|
For more information about a function definition, variable or symbol
|
|
property listed in an apropos buffer, you can click on it with
|
|
@kbd{mouse-1} or @kbd{mouse-2}, or move there and type @key{RET}.
|
|
|
|
When you specify more than one word in the apropos pattern, a name
|
|
must contain at least two of the words in order to match. Thus, if
|
|
you are looking for commands to kill a chunk of text before point, you
|
|
could try @kbd{C-h a kill back backward behind before @key{RET}}. The
|
|
real command name @code{kill-backward} will match that; if there were
|
|
a command @code{kill-text-before}, it would also match, since it
|
|
contains two of the specified words.
|
|
|
|
For even greater flexibility, you can specify a regular expression
|
|
(@pxref{Regexps}). An apropos pattern is interpreted as a regular
|
|
expression if it contains any of the regular expression special
|
|
characters, @samp{^$*+?.\[}.
|
|
|
|
Following the conventions for naming Emacs commands, here are some
|
|
words that you'll find useful in apropos patterns. By using them in
|
|
@kbd{C-h a}, you will also get a feel for the naming conventions.
|
|
|
|
@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
|
|
|
|
@vindex apropos-do-all
|
|
If the variable @code{apropos-do-all} is non-@code{nil}, most
|
|
apropos commands behave as if they had been given a prefix argument.
|
|
There is one exception: @code{apropos-variable} without a prefix
|
|
argument will always search for all variables, no matter what the
|
|
value of @code{apropos-do-all} is.
|
|
|
|
@vindex apropos-sort-by-scores
|
|
@cindex apropos search results, order by score
|
|
@vindex apropos-documentation-sort-by-scores
|
|
By default, all apropos commands except @code{apropos-documentation}
|
|
list their results in alphabetical order. If the variable
|
|
@code{apropos-sort-by-scores} is non-@code{nil}, these commands
|
|
instead try to guess the relevance of each result, and display the
|
|
most relevant ones first. The @code{apropos-documentation} command
|
|
lists its results in order of relevance by default; to list them in
|
|
alphabetical order, change the variable
|
|
@code{apropos-documentation-sort-by-scores} to @code{nil}.
|
|
|
|
@node Help Mode
|
|
@section Help Mode Commands
|
|
@findex help-mode
|
|
@cindex help mode
|
|
|
|
Help buffers have Help mode as their major mode. Help mode provides
|
|
the same commands as View mode (@pxref{View Mode}); for instance,
|
|
@key{SPC} scrolls forward, and @key{DEL} or @kbd{S-@key{SPC}} scrolls
|
|
backward. It also provides a few special commands:
|
|
|
|
@table @kbd
|
|
@item @key{RET}
|
|
Follow a cross reference at point (@code{help-follow}).
|
|
@item @key{TAB}
|
|
Move point forward to the next hyperlink (@code{forward-button}).
|
|
@item S-@key{TAB}
|
|
Move point back to the previous hyperlink (@code{backward-button}).
|
|
@item mouse-1
|
|
@itemx mouse-2
|
|
Follow a hyperlink that you click on.
|
|
@item n
|
|
@itemx p
|
|
Move forward and back between pages in the Help buffer.
|
|
@item C-c C-c
|
|
Show all documentation about the symbol at point
|
|
(@code{help-follow-symbol}).
|
|
@item C-c C-f
|
|
@itemx r
|
|
Go forward in history of help commands (@code{help-go-forward}).
|
|
@item C-c C-b
|
|
@itemx l
|
|
Go back in history of help commands (@code{help-go-back}).
|
|
@item s
|
|
View the source of the current help topic (if any)
|
|
(@code{help-view-source}).
|
|
@item i
|
|
Look up the current topic in the manual(s) (@code{help-goto-info}).
|
|
@item I
|
|
Look up the current topic in the Emacs Lisp manual
|
|
(@code{help-goto-lispref-info}).
|
|
@item c
|
|
Customize the variable or the face (@code{help-customize}).
|
|
@end table
|
|
|
|
@cindex hyperlink
|
|
@findex help-follow
|
|
@findex help-go-back
|
|
@findex help-go-forward
|
|
@kindex RET @r{(Help mode)}
|
|
@kindex C-c C-b @r{(Help mode)}
|
|
@kindex l @r{(Help mode)}
|
|
@kindex C-c C-f @r{(Help mode)}
|
|
@kindex r @r{(Help mode)}
|
|
When a function name, variable name, or face name (@pxref{Faces})
|
|
appears in the documentation in the help buffer, it is normally an
|
|
underlined @dfn{hyperlink}. To view the associated documentation,
|
|
move point there and type @key{RET} (@code{help-follow}), or click on
|
|
the hyperlink with @kbd{mouse-1} or @kbd{mouse-2}. Doing so replaces
|
|
the contents of the help buffer; to retrace your steps, type @kbd{C-c
|
|
C-b} or @kbd{l} (@code{help-go-back}). While retracing your steps,
|
|
you can go forward by using @kbd{C-c C-f} or @kbd{r}
|
|
(@code{help-go-forward}).
|
|
|
|
@kindex TAB @r{(Help mode)}
|
|
@findex forward-button
|
|
@kindex S-TAB @r{(Help mode)}
|
|
@findex backward-button
|
|
To move between hyperlinks in a help buffer, use @key{TAB}
|
|
(@code{forward-button}) to move forward to the next hyperlink and
|
|
@kbd{S-@key{TAB}} (@code{backward-button}) to move back to the
|
|
previous hyperlink. These commands act cyclically; for instance,
|
|
typing @key{TAB} at the last hyperlink moves back to the first
|
|
hyperlink.
|
|
|
|
@vindex help-clean-buttons
|
|
By default, many links in the help buffer are displayed surrounded
|
|
by quote characters. If the @code{help-clean-buttons} user option is
|
|
non-@code{nil}, these quote characters are removed from the buffer.
|
|
|
|
@kindex n @r{(Help mode)}
|
|
@kindex p @r{(Help mode)}
|
|
@findex help-goto-next-page
|
|
@findex help-goto-previous-page
|
|
Help buffers produced by some Help commands (like @kbd{C-h b}, which
|
|
shows a long list of key bindings) are divided into pages by the
|
|
@samp{^L} character. In such buffers, the @kbd{n}
|
|
(@code{help-goto-next-page}) command will take you to the next start
|
|
of page, and the @kbd{p} (@code{help-goto-previous-page}) command will
|
|
take you to the previous start of page. This way you can quickly
|
|
navigate between the different kinds of documentation in a help
|
|
buffer.
|
|
|
|
@cindex URL, viewing in help
|
|
@cindex help, viewing web pages
|
|
@cindex viewing web pages in help
|
|
@cindex web pages, viewing in help
|
|
A help buffer can also contain hyperlinks to Info manuals, source
|
|
code definitions, and URLs (web pages). The first two are opened in
|
|
Emacs, and the third using a web browser via the @code{browse-url}
|
|
command (@pxref{Browse-URL}).
|
|
|
|
To view all documentation about any symbol in the text, move point
|
|
to the symbol and type @kbd{C-c C-c} (@code{help-follow-symbol}).
|
|
This shows the documentation for all the meanings of the symbol---as a
|
|
variable, as a function, and/or as a face.
|
|
|
|
@node Package Keywords
|
|
@section Keyword Search for Packages
|
|
@cindex finder
|
|
|
|
Most optional features in Emacs are grouped into @dfn{packages}.
|
|
Emacs contains several hundred built-in packages, and more can be
|
|
installed over the network (@pxref{Packages}).
|
|
|
|
@kindex C-h p
|
|
@findex finder-by-keyword
|
|
To make it easier to find packages related to a topic, most packages
|
|
are associated with one or more @dfn{keywords} based on what they do.
|
|
Type @kbd{C-h p} (@code{finder-by-keyword}) to bring up a list of
|
|
package keywords, together with a description of what the keywords
|
|
mean. To view a list of packages for a given keyword, type @key{RET}
|
|
on that line; this displays the list of packages in a Package Menu
|
|
buffer (@pxref{Package Menu}).
|
|
|
|
@findex describe-package
|
|
@kindex C-h P
|
|
@kbd{C-h P} (@code{describe-package}) prompts for the name of a
|
|
package (@pxref{Packages}), and displays a help buffer describing the
|
|
attributes of the package and the features that it implements. The
|
|
buffer lists the keywords that relate to the package in the form of
|
|
buttons. Click on a button with @kbd{mouse-1} or @kbd{mouse-2} to see
|
|
the list of other packages related to that keyword.
|
|
|
|
@node Language Help
|
|
@section Help for International Language Support
|
|
|
|
For information on a specific language environment (@pxref{Language
|
|
Environments}), type @kbd{C-h L}
|
|
(@code{describe-language-environment}). This displays a help buffer
|
|
describing the languages supported by the language environment, and
|
|
listing the associated character sets, coding systems, and input
|
|
methods, as well as some sample text for that language environment.
|
|
|
|
The command @kbd{C-h h} (@code{view-hello-file}) displays the file
|
|
@file{etc/HELLO}, which demonstrates various character sets by showing
|
|
how to say ``hello'' in many languages.
|
|
|
|
The command @kbd{C-h I} (@code{describe-input-method}) describes an
|
|
input method---either a specified input method, or by default the
|
|
input method currently in use. @xref{Input Methods}.
|
|
|
|
The command @kbd{C-h C} (@code{describe-coding-system}) describes
|
|
coding systems---either a specified coding system, or the ones
|
|
currently in use. @xref{Coding Systems}.
|
|
|
|
@node Misc Help
|
|
@section Other Help Commands
|
|
|
|
@kindex C-h i
|
|
@kindex C-h 4 i
|
|
@findex info
|
|
@findex info-other-window
|
|
@cindex Info
|
|
@cindex manuals, included
|
|
@kbd{C-h i} (@code{info}) runs the Info program, which browses
|
|
structured documentation files. @kbd{C-h 4 i}
|
|
(@code{info-other-window}) does the same, but shows the Info buffer in
|
|
another window. The entire Emacs manual is available within Info,
|
|
along with many other manuals for the GNU system. Type @kbd{h} after
|
|
entering Info to run a tutorial on using Info.
|
|
|
|
@cindex find Info manual by its file name
|
|
With a numeric argument @var{n}, @kbd{C-h i} selects the Info buffer
|
|
@samp{*info*<@var{n}>}. 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, so you can browse a file which doesn't have an entry in the
|
|
top-level Info menu.
|
|
|
|
The help commands @kbd{C-h F @var{function} @key{RET}} and @kbd{C-h
|
|
K @var{key}}, described above, enter Info and go straight to the
|
|
documentation of @var{function} or @var{key}.
|
|
|
|
@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 @kbd{C-h S}
|
|
(@code{info-lookup-symbol}) to find an entry for a symbol (keyword,
|
|
function or variable) in the proper manual. The details of how this
|
|
command works depend on the major mode.
|
|
|
|
@kindex C-h l
|
|
@findex view-lossage
|
|
@findex lossage-size
|
|
If something surprising happens, and you are not sure what you typed,
|
|
use @kbd{C-h l} (@code{view-lossage}). @kbd{C-h l} displays your last
|
|
input keystrokes and the commands they invoked. By default, Emacs
|
|
stores the last 300 keystrokes; if you wish, you can change this number with
|
|
the command @code{lossage-size}.
|
|
If you see commands that you are not familiar with, you can use @kbd{C-h k} or
|
|
@kbd{C-h f} to find out what they do.
|
|
|
|
@kindex C-h e
|
|
@findex view-echo-area-messages
|
|
To review recent echo area messages, use @kbd{C-h e}
|
|
(@code{view-echo-area-messages}). This displays the buffer
|
|
@file{*Messages*}, where those messages are kept.
|
|
|
|
@kindex C-h m
|
|
@findex describe-mode
|
|
Each Emacs major mode typically redefines a few keys and makes other
|
|
changes in how editing works. @kbd{C-h m} (@code{describe-mode})
|
|
displays documentation on the current major mode, which normally
|
|
describes the commands and features that are changed in this mode, and
|
|
also its key bindings.
|
|
|
|
@kindex C-h b
|
|
@findex describe-bindings
|
|
@kindex C-h s
|
|
@findex describe-syntax
|
|
@kbd{C-h b} (@code{describe-bindings}) and @kbd{C-h s}
|
|
(@code{describe-syntax}) show other information about the current
|
|
environment within Emacs. @kbd{C-h b} displays a list of all the key
|
|
bindings now in effect: first the local bindings of the current minor
|
|
modes, 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 Tables,, Syntax Tables, elisp, The
|
|
Emacs Lisp Reference Manual}).
|
|
|
|
@kindex C-h C-q
|
|
@findex help-quick-toggle
|
|
@findex help-quick
|
|
@cindex cheat sheet of popular Emacs commands
|
|
@kbd{C-h C-q} (@code{help-quick-toggle}) toggles on and off the
|
|
display of a buffer showing the most popular Emacs commands and their
|
|
respective key bindings (a.k.a.@: ``cheat sheet''). The contents of
|
|
that buffer are created by the command @code{help-quick}. Each key
|
|
binding shown in this buffer is a button: click on it with
|
|
@kbd{mouse-1} or @kbd{mouse-2} to show the documentation of the
|
|
command bound to that key sequence.
|
|
|
|
@findex describe-prefix-bindings
|
|
You can get a list of subcommands for a particular prefix key by
|
|
typing @kbd{C-h}, @kbd{?}, or @key{F1}
|
|
(@code{describe-prefix-bindings}) after the prefix key. (There are a
|
|
few prefix keys for which not all of these keys work---those that
|
|
provide their own bindings for that key. One of these prefix keys
|
|
is @key{ESC}, because @kbd{@key{ESC} C-h} and @kbd{@key{ESC} ?} are
|
|
actually @kbd{C-M-h} (@code{mark-defun}) and @kbd{M-?}
|
|
(@code{xref-find-references}), respectively. However,
|
|
@w{@kbd{@key{ESC} @key{F1}}} works fine.)
|
|
|
|
@findex describe-keymap
|
|
Finally, @kbd{M-x describe-keymap} prompts for the name of a keymap,
|
|
with completion, and displays a listing of all key bindings in that
|
|
keymap.
|
|
|
|
@node Help Files
|
|
@section Help Files
|
|
|
|
Apart from the built-in documentation and manuals, Emacs contains
|
|
several other files describing topics like copying conditions, release
|
|
notes, instructions for debugging and reporting bugs, and so forth.
|
|
You can use the following commands to view these files. Apart from
|
|
@kbd{C-h g}, they all have the form @kbd{C-h C-@var{char}}.
|
|
|
|
@kindex C-h C-c
|
|
@findex describe-copying
|
|
@kindex C-h C-d
|
|
@findex view-emacs-debugging
|
|
@kindex C-h C-e
|
|
@findex view-external-packages
|
|
@kindex C-h C-f
|
|
@findex view-emacs-FAQ
|
|
@kindex C-h g
|
|
@findex describe-gnu-project
|
|
@kindex C-h C-m
|
|
@findex view-order-manuals
|
|
@kindex C-h C-n
|
|
@findex view-emacs-news
|
|
@kindex C-h C-o
|
|
@findex describe-distribution
|
|
@kindex C-h C-p
|
|
@findex view-emacs-problems
|
|
@kindex C-h C-t
|
|
@findex view-emacs-todo
|
|
@kindex C-h C-w
|
|
@findex describe-no-warranty
|
|
|
|
@table @kbd
|
|
@item C-h C-c
|
|
Display the rules under which you can copy and redistribute Emacs
|
|
(@code{describe-copying}).
|
|
@item C-h C-d
|
|
Display help for debugging Emacs (@code{view-emacs-debugging}).
|
|
@item C-h C-e
|
|
Display information about where to get external packages
|
|
(@code{view-external-packages}).
|
|
@item C-h C-f
|
|
Display the Emacs frequently-answered-questions list (@code{view-emacs-FAQ}).
|
|
@item C-h g
|
|
Visit the @uref{https://www.gnu.org, page} with information about the GNU
|
|
Project (@code{describe-gnu-project}).
|
|
@item C-h C-m
|
|
Display information about ordering printed copies of Emacs manuals
|
|
(@code{view-order-manuals}).
|
|
@item C-h C-n
|
|
Display the news, which lists the new features in this
|
|
version of Emacs (@code{view-emacs-news}).
|
|
@item C-h C-o
|
|
Display how to order or download the latest version of
|
|
Emacs and other GNU software (@code{describe-distribution}).
|
|
@item C-h C-p
|
|
Display the list of known Emacs problems, sometimes with suggested
|
|
workarounds (@code{view-emacs-problems}).
|
|
@item C-h C-t
|
|
Display the Emacs to-do list (@code{view-emacs-todo}).
|
|
@item C-h C-w
|
|
Display the full details on the complete absence of warranty for GNU
|
|
Emacs (@code{describe-no-warranty}).
|
|
@end table
|
|
|
|
@node Help Echo
|
|
@section Help on Active Text and Tooltips
|
|
|
|
@cindex tooltip help
|
|
@cindex balloon help
|
|
@cindex active text
|
|
In Emacs, stretches of @dfn{active text} (text that does something
|
|
special in response to mouse clicks or @key{RET}) often have
|
|
associated help text. This includes hyperlinks in Emacs buffers, as
|
|
well as parts of the mode line. On graphical displays, as well as
|
|
some text terminals which support mouse tracking, moving the mouse
|
|
over the active text displays the help text as a @dfn{tooltip}.
|
|
@xref{Tooltips}.
|
|
|
|
@kindex C-h .
|
|
@findex display-local-help
|
|
@vindex help-at-pt-display-when-idle
|
|
On terminals that don't support mouse-tracking, you can display the
|
|
help text for active buffer text at point by typing @kbd{C-h .}
|
|
(@code{display-local-help}). This shows the help text in the echo
|
|
area. To display help text automatically whenever it is available at
|
|
point, set the variable @code{help-at-pt-display-when-idle} to
|
|
@code{t}.
|