123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452 |
- @node Help, Mark, M-x, Top
- @chapter Help
- @kindex Help
- @cindex help
- @cindex self-documentation
- @findex help-command
- @kindex C-h
- @kindex F1
- XEmacs provides extensive help features accessible through a single
- character, @kbd{C-h}. @kbd{C-h} is a prefix key that is used only for
- documentation-printing commands. The characters that you can type after
- @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, and then asks you to type the desired option. It prompts
- with the string:
- @smallexample
- A B C F I K L M N P S T V W C-c C-d C-f C-i C-k C-n C-w; ? for more help:
- @end smallexample
- @noindent
- You should type one of those characters.
- Typing a third @kbd{C-h} displays a description of what the options mean;
- Emacs still waits for you to type an option. To cancel, type @kbd{C-g}.
- Most help buffers use a special major mode, Help mode, which lets you
- scroll conveniently with @key{SPC} and @key{DEL} or @key{BS}.
- @menu
- * Help Summary:: Brief list of all Help commands.
- * Key Help:: Asking what a key does in XEmacs.
- * 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).
- * Help Mode:: Special features of Help mode and Help buffers.
- * Misc Help:: Other help commands.
- @end menu
- @iftex
- @node Help Summary, Help Summary, Help, Help
- @end iftex
- @ifinfo
- @node Help Summary, Key Help, Help, Help
- @section Help Summary
- @end ifinfo
- Here is a summary of the defined help commands.
- @table @kbd
- @item C-h a @var{regexp} @key{RET}
- Display a list of functions and variables whose names match @var{regexp}
- (@code{hyper-apropos}).
- @item C-h A @var{regexp}
- Show all commands whose names contain matches for @var{regexp}
- (@code{command-apropos}).
- @item C-h b
- Display a table of all key bindings currently in effect, with local
- bindings of the current major mode first, followed by all global
- bindings (@code{describe-bindings}).
- @item C-h c @var{key}
- Print the name of the command that @var{key} runs
- (@code{describe-key-briefly}). Here @kbd{c} stands for `character'. For more
- extensive information on @var{key}, use @kbd{C-h k}.
- @item C-h d @var{function} @key{RET}
- @itemx 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 i
- Run Info, the program for browsing documentation files (@code{info}).
- The complete XEmacs manual is available online 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 n
- @itemx C-h C-n
- Display documentation of XEmacs changes, most recent first
- (@code{view-emacs-news}).
- @item C-h p
- Find packages by topic keyword (@code{finder-by-keyword}).
- @item C-h C-p
- Display a table of all mouse bindings currently in effect now, with
- local bindings of the current major mode first, followed by all global
- bindings (@code{describe-pointer}).
- @item C-h s
- Display current contents of the syntax table, plus an explanation of
- what they mean (@code{describe-syntax}). @xref{Syntax}.
- @item C-h t
- Enter the XEmacs 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}).
- @item C-h w @var{command} @key{RET}
- Print which keys run the command named @var{command} (@code{where-is}).
- @item C-h B @key{RET}
- Display info on how to deal with Beta versions of XEmacs
- (@code{describe-beta}).
- @item C-h C @var{group} @key{RET}
- Select customization buffer for @var{group} (@code{customize}).
- @item C-h F @key{RET}
- View the local copy of the XEmacs FAQ (@code{xemacs-local-faq}).
- @item C-h C-i @var{file} @key{RET}
- Read Info file @var{file} with Info browser (@code{Info-query}).
- @item C-h C-c @var{command} @key{RET}
- Look up an Emacs command @var{command} in the Emacs manual in the Info
- system (@code{Info-goto-emacs-command-node}).
- @item C-h C-f @var{function} @key{RET}
- Look up an Emacs Lisp function @var{function} in the Elisp manual in the
- Info system (@code{Info-elisp-ref}).
- @end table
- @node Key Help, Name Help, Help Summary, 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}).
- @kbd{C-h c @var{key}} prints in the echo area the name of the command
- that @var{key} is bound to. For example, @kbd{C-h c C-f} prints
- @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 to @kbd{C-h c} but gives more
- information. It displays the documentation string of the function
- @var{key} is bound to as well as its name. @var{key} is a string or
- vector of events. When called interactively, @var{key} may also be a menu
- selection. This information does not usually fit into 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.
- @node Name Help, Apropos, Key Help, Help
- @section Help by Command or Variable Name
- @kindex C-h f
- @findex describe-function
- @vindex describe-function-show-arglist
- @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 the argument @var{function} 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 for @code{auto-fill-mode}. Using @kbd{C-h f}
- is the only way to see the documentation of a command that is not bound
- to any key, that is, a command you would normally call using @kbd{M-x}.
- If the variable @code{describe-function-show-arglist} is @code{t},
- @code{describe-function} shows its arglist if the @var{function} is not
- an autoload function.
- @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 make sure 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 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.
- The function name for @kbd{C-h f} to describe has a default which is
- used if you type @key{RET} leaving the minibuffer empty. The default is
- 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}.
- @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.
- @kindex C-h w
- @findex where-is
- @kbd{C-h w @var{command} @key{RET}} (@code{where-is}) tells you what
- keys are bound to @var{command}. It prints a list of the keys in the
- echo area. Alternatively, it informs you that a command is not bound to
- any keys, which implies that you must use @kbd{M-x} to call the
- command.
- @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 known Lisp
- variable. @xref{Variables}.
- @node Apropos, Library Keywords, Name Help, Help
- @section Apropos
- @kindex C-h A
- @findex command-apropos
- @cindex apropos
- @table @kbd
- @item C-h A
- Show only symbols that are names of commands
- (@code{command-apropos}).
- @item M-x apropos @var{regexp}
- Show all symbols whose names contain matches for @var{regexp}.
- @end table
- 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
- @kbd{C-x C-f}. The @kbd{A} in @kbd{C-h A} stands for `Apropos';
- @kbd{C-h A} runs the command @code{command-apropos}. This command
- normally checks only commands (interactive functions); if you specify a
- prefix argument, it checks noninteractive functions as well.
- Because @kbd{C-h A} looks only for functions whose names contain the
- string you specify, you must use ingenuity in choosing the string. If
- you are looking for commands for killing backwards and @kbd{C-h a
- kill-backwards @key{RET}} doesn't reveal any, don't give up. Try just
- @kbd{kill}, or just @kbd{backwards}, or just @kbd{back}. Be persistent.
- Pretend you are playing Adventure. Also note that you can use a regular
- expression as the argument, for more flexibility (@pxref{Regexps}).
- Here is a set of arguments to give to @kbd{C-h a} that covers many
- classes of XEmacs commands, since there are strong conventions for
- naming the standard XEmacs 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
- 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 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.
- If you want more information about a function definition, variable or
- symbol property listed in the Apropos buffer, you can click on it with
- @kbd{Mouse-2} or move there and type @key{RET}.
- @node Library Keywords, Help Mode, Apropos, Help
- @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:
- @display
- abbrev abbreviation handling, typing shortcuts, macros
- bib code related to the `bib' bibliography processor
- c C, C++, and Objective-C language support
- calendar calendar and time management support
- comm communications, networking, remote access to files
- data support for editing files of data
- docs support for Emacs documentation
- dumped files preloaded into Emacs
- emulations emulations of other editors
- extensions Emacs Lisp language extensions
- faces support for multiple fonts
- frames support for Emacs frames and window systems
- games games, jokes and amusements
- hardware support for interfacing with exotic hardware
- help support for on-line help systems
- hypermedia support for links between text or other media types
- i18n internationalization and alternate character-set support
- internal code for Emacs internals, build process, defaults
- languages specialized modes for editing programming languages
- lisp Lisp support, including Emacs Lisp
- local code local to your site
- maint maintenance aids for the Emacs development group
- mail modes for electronic-mail handling
- matching various sorts of searching and matching
- mouse mouse support
- mule multi-language extensions
- news support for netnews reading and posting
- oop support for object-oriented programming
- outlines support for hierarchical outlining
- processes process, subshell, compilation, and job control support
- terminals support for terminal types
- tex code related to the TeX formatter
- tools programming tools
- unix front-ends/assistants for, or emulators of, UNIX features
- vms support code for vms
- wp word processing
- @end display
- @node Help Mode, Misc Help, Library Keywords, Help
- @section Help Mode Commands
- Help buffers provide the commands of View mode (@pxref{Misc File
- Ops}), plus a few special commands of their own.
- @table @kbd
- @item @key{SPC}
- Scroll forward.
- @item @key{DEL}
- @itemx @key{BS}
- Scroll backward.
- @c @item @key{RET}
- @c Follow a cross reference at point.
- @c @item @key{TAB}
- @c Move point forward to the next cross reference.
- @c @item S-@key{TAB}
- @c Move point back to the previous cross reference.
- @c @item Mouse-2
- @c Follow a cross reference that you click on.
- @end table
- When a command name (@pxref{M-x,, Running Commands by Name}) or
- variable name (@pxref{Variables}) appears in the documentation, it
- normally appears inside paired single-quotes.
- @node Misc Help, , Help Mode, 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 XEmacs manual
- is available within Info. Eventually all the documentation of the GNU
- system will be available. Type @kbd{h} after entering Info to run
- a tutorial on using Info.
- If you specify a numeric argument, @kbd{C-h i} prompts for the name of
- a documentation file. This way, you can browse a file which doesn't
- have an entry in the top-level Info menu. It is also handy when you
- need to get to the documentation quickly, and you know the exact name of
- the file.
- @kindex C-h C-f
- @kindex C-h C-k
- @findex Info-elisp-ref
- @findex Info-goto-emacs-command-node
- There are two special help commands for accessing XEmacs documentation
- through Info. @kbd{C-h C-f @var{function} @key{RET}} enters Info and
- goes straight to the documentation of the XEmacs function
- @var{function}. @kbd{C-h C-k @var{key}} enters Info and goes straight
- to the documentation of the key @var{key}. These two keys run the
- commands @code{Info-elisp-ref} and
- @code{Info-goto-emacs-key-command-node}.
- @kindex C-h l
- @findex view-lossage
- If something surprising happens, and you are not sure what commands you
- typed, use @kbd{C-h l} (@code{view-lossage}). @kbd{C-h l} prints the last
- 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.
- @kindex C-h m
- @findex describe-mode
- XEmacs has several major modes. Each mode redefines a few keys and
- makes a few other changes in how editing works. @kbd{C-h m}
- (@code{describe-mode}) prints documentation on the current major mode,
- 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 information about the current XEmacs
- mode that is not covered by @kbd{C-h m}. @kbd{C-h b} displays a list of
- all the key bindings currently in effect, with the local bindings of the
- current major mode first, followed by 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.)
- @kindex C-h F
- @findex xemacs-local-faq
- @kindex C-h n
- @findex view-emacs-news
- @kindex C-h t
- @findex help-with-tutorial
- @kindex C-h C-c
- @findex describe-copying
- @kindex C-h C-d
- @findex describe-distribution
- @kindex C-h C-w
- @findex describe-no-warranty
- The other @kbd{C-h} options display various files of useful
- information. @kbd{C-h C-w} (@code{describe-no-warranty}) displays the
- full details on the complete absence of warranty for XEmacs. @kbd{C-h
- n} (@code{view-emacs-news}) displays the file @file{xemacs/etc/NEWS},
- which contains documentation on XEmacs changes arranged chronologically.
- @kbd{C-h F} (@code{xemacs-local-faq}) displays local version of the
- XEmacs frequently-answered-questions-list. @kbd{C-h t}
- (@code{help-with-tutorial}) displays the learn-by-doing XEmacs
- tutorial. @kbd{C-h C-c} (@code{describe-copying}) displays the file
- @file{xemacs/etc/COPYING}, which tells you the conditions you must obey
- in distributing copies of XEmacs. @kbd{C-h C-d}
- (@code{describe-distribution}) displays another file named
- @file{xemacs/etc/DISTRIB}, which tells you how you can order a copy of
- the latest version of XEmacs.
|