0
|
1
|
|
2 @node Help, Mark, M-x, Top
|
|
3 @chapter Help
|
442
|
4 @kindex Help
|
0
|
5 @cindex help
|
|
6 @cindex self-documentation
|
442
|
7 @findex help-command
|
|
8 @kindex C-h
|
|
9 @kindex F1
|
0
|
10
|
442
|
11 XEmacs provides extensive help features accessible through a single
|
0
|
12 character, @kbd{C-h}. @kbd{C-h} is a prefix key that is used only for
|
442
|
13 documentation-printing commands. The characters that you can type after
|
0
|
14 @kbd{C-h} are called @dfn{help options}. One help option is @kbd{C-h};
|
442
|
15 that is how you ask for help about using @kbd{C-h}. To cancel, type
|
|
16 @kbd{C-g}. The function key @key{F1} is equivalent to @kbd{C-h}.
|
0
|
17
|
442
|
18 @kindex C-h C-h
|
|
19 @findex help-for-help
|
|
20 @kbd{C-h C-h} (@code{help-for-help}) displays a list of the possible
|
|
21 help options, and then asks you to type the desired option. It prompts
|
|
22 with the string:
|
0
|
23
|
|
24 @smallexample
|
442
|
25 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:
|
0
|
26 @end smallexample
|
|
27
|
|
28 @noindent
|
|
29 You should type one of those characters.
|
|
30
|
|
31 Typing a third @kbd{C-h} displays a description of what the options mean;
|
|
32 Emacs still waits for you to type an option. To cancel, type @kbd{C-g}.
|
|
33
|
442
|
34 Most help buffers use a special major mode, Help mode, which lets you
|
|
35 scroll conveniently with @key{SPC} and @key{DEL} or @key{BS}.
|
|
36
|
|
37 @menu
|
|
38 * Help Summary:: Brief list of all Help commands.
|
|
39 * Key Help:: Asking what a key does in XEmacs.
|
|
40 * Name Help:: Asking about a command, variable or function name.
|
|
41 * Apropos:: Asking what pertains to a given topic.
|
|
42 * Library Keywords:: Finding Lisp libraries by keywords (topics).
|
|
43 * Help Mode:: Special features of Help mode and Help buffers.
|
|
44 * Misc Help:: Other help commands.
|
|
45 @end menu
|
|
46
|
|
47 @iftex
|
|
48 @node Help Summary, Help Summary, Help, Help
|
|
49 @end iftex
|
|
50 @ifinfo
|
|
51 @node Help Summary, Key Help, Help, Help
|
|
52 @section Help Summary
|
|
53 @end ifinfo
|
|
54
|
0
|
55 Here is a summary of the defined help commands.
|
|
56
|
|
57 @table @kbd
|
442
|
58 @item C-h a @var{regexp} @key{RET}
|
|
59 Display a list of functions and variables whose names match @var{regexp}
|
|
60 (@code{hyper-apropos}).
|
|
61 @item C-h A @var{regexp}
|
|
62 Show all commands whose names contain matches for @var{regexp}
|
|
63 (@code{command-apropos}).
|
0
|
64 @item C-h b
|
442
|
65 Display a table of all key bindings currently in effect, with local
|
|
66 bindings of the current major mode first, followed by all global
|
|
67 bindings (@code{describe-bindings}).
|
0
|
68 @item C-h c @var{key}
|
442
|
69 Print the name of the command that @var{key} runs
|
|
70 (@code{describe-key-briefly}). Here @kbd{c} stands for `character'. For more
|
|
71 extensive information on @var{key}, use @kbd{C-h k}.
|
|
72 @item C-h d @var{function} @key{RET}
|
|
73 @itemx C-h f @var{function} @key{RET}
|
0
|
74 Display documentation on the Lisp function named @var{function}
|
442
|
75 (@code{describe-function}). Since commands are Lisp functions,
|
0
|
76 a command name may be used.
|
|
77 @item C-h i
|
|
78 Run Info, the program for browsing documentation files (@code{info}).
|
442
|
79 The complete XEmacs manual is available online in Info.
|
0
|
80 @item C-h k @var{key}
|
442
|
81 Display the name and documentation of the command that @var{key} runs
|
|
82 (@code{describe-key}).
|
0
|
83 @item C-h l
|
|
84 Display a description of the last 100 characters you typed
|
|
85 (@code{view-lossage}).
|
|
86 @item C-h m
|
|
87 Display documentation of the current major mode (@code{describe-mode}).
|
|
88 @item C-h n
|
442
|
89 @itemx C-h C-n
|
|
90 Display documentation of XEmacs changes, most recent first
|
0
|
91 (@code{view-emacs-news}).
|
|
92 @item C-h p
|
442
|
93 Find packages by topic keyword (@code{finder-by-keyword}).
|
|
94 @item C-h C-p
|
0
|
95 Display a table of all mouse bindings currently in effect now, with
|
442
|
96 local bindings of the current major mode first, followed by all global
|
|
97 bindings (@code{describe-pointer}).
|
0
|
98 @item C-h s
|
|
99 Display current contents of the syntax table, plus an explanation of
|
442
|
100 what they mean (@code{describe-syntax}). @xref{Syntax}.
|
0
|
101 @item C-h t
|
442
|
102 Enter the XEmacs interactive tutorial (@code{help-with-tutorial}).
|
0
|
103 @item C-h v @var{var} @key{RET}
|
|
104 Display the documentation of the Lisp variable @var{var}
|
442
|
105 (@code{describe-variable}).
|
0
|
106 @item C-h w @var{command} @key{RET}
|
|
107 Print which keys run the command named @var{command} (@code{where-is}).
|
442
|
108 @item C-h B @key{RET}
|
|
109 Display info on how to deal with Beta versions of XEmacs
|
|
110 (@code{describe-beta}).
|
|
111 @item C-h C @var{group} @key{RET}
|
|
112 Select customization buffer for @var{group} (@code{customize}).
|
|
113 @item C-h F @key{RET}
|
|
114 View the local copy of the XEmacs FAQ (@code{xemacs-local-faq}).
|
|
115 @item C-h C-i @var{file} @key{RET}
|
|
116 Read Info file @var{file} with Info browser (@code{Info-query}).
|
|
117 @item C-h C-c @var{command} @key{RET}
|
|
118 Look up an Emacs command @var{command} in the Emacs manual in the Info
|
|
119 system (@code{Info-goto-emacs-command-node}).
|
|
120 @item C-h C-f @var{function} @key{RET}
|
|
121 Look up an Emacs Lisp function @var{function} in the Elisp manual in the
|
|
122 Info system (@code{Info-elisp-ref}).
|
0
|
123 @end table
|
|
124
|
442
|
125 @node Key Help, Name Help, Help Summary, Help
|
0
|
126 @section Documentation for a Key
|
|
127
|
|
128 @kindex C-h c
|
|
129 @findex describe-key-briefly
|
|
130 The most basic @kbd{C-h} options are @kbd{C-h c}
|
442
|
131 (@code{describe-key-briefly}) and @w{@kbd{C-h k}} (@code{describe-key}).
|
|
132 @kbd{C-h c @var{key}} prints in the echo area the name of the command
|
|
133 that @var{key} is bound to. For example, @kbd{C-h c C-f} prints
|
0
|
134 @samp{forward-char}. Since command names are chosen to describe what
|
442
|
135 the commands do, this is a good way to get a very brief description of
|
|
136 what @var{key} does.
|
0
|
137
|
|
138 @kindex C-h k
|
|
139 @findex describe-key
|
|
140 @kbd{C-h k @var{key}} is similar to @kbd{C-h c} but gives more
|
|
141 information. It displays the documentation string of the function
|
|
142 @var{key} is bound to as well as its name. @var{key} is a string or
|
|
143 vector of events. When called interactively, @var{key} may also be a menu
|
|
144 selection. This information does not usually fit into the echo area, so a
|
|
145 window is used for the display.
|
|
146
|
442
|
147 @kbd{C-h c} and @kbd{C-h k} work for any sort of key sequences,
|
|
148 including function keys and mouse events.
|
|
149
|
|
150 @node Name Help, Apropos, Key Help, Help
|
0
|
151 @section Help by Command or Variable Name
|
|
152
|
|
153 @kindex C-h f
|
|
154 @findex describe-function
|
|
155 @vindex describe-function-show-arglist
|
|
156 @kbd{C-h f} (@code{describe-function}) reads the name of a Lisp
|
|
157 function using the minibuffer, then displays that function's
|
|
158 documentation string in a window. Since commands are Lisp functions,
|
|
159 you can use the argument @var{function} to get the documentation of a
|
|
160 command that you know by name. For example,
|
|
161
|
|
162 @example
|
|
163 C-h f auto-fill-mode @key{RET}
|
|
164 @end example
|
|
165
|
|
166 @noindent
|
|
167 displays the documentation for @code{auto-fill-mode}. Using @kbd{C-h f}
|
|
168 is the only way to see the documentation of a command that is not bound
|
|
169 to any key, that is, a command you would normally call using @kbd{M-x}.
|
|
170 If the variable @code{describe-function-show-arglist} is @code{t},
|
|
171 @code{describe-function} shows its arglist if the @var{function} is not
|
|
172 an autoload function.
|
|
173
|
442
|
174 @kbd{C-h f} is also useful for Lisp functions that you are planning to
|
|
175 use in a Lisp program. For example, if you have just written the
|
|
176 expression @code{(make-vector len)} and want to make sure you are using
|
|
177 @code{make-vector} properly, type @kbd{C-h f make-vector @key{RET}}.
|
|
178 Because @kbd{C-h f} allows all function names, not just command names,
|
|
179 you may find that some of your favorite abbreviations that work in
|
|
180 @kbd{M-x} don't work in @kbd{C-h f}. An abbreviation may be unique
|
|
181 among command names, yet fail to be unique when other function names are
|
|
182 allowed.
|
0
|
183
|
442
|
184 The function name for @kbd{C-h f} to describe has a default which is
|
|
185 used if you type @key{RET} leaving the minibuffer empty. The default is
|
|
186 the function called by the innermost Lisp expression in the buffer
|
|
187 around point, @emph{provided} that is a valid, defined Lisp function
|
|
188 name. For example, if point is located following the text
|
0
|
189 @samp{(make-vector (car x)}, the innermost list containing point is the
|
442
|
190 one that starts with @samp{(make-vector}, so the default is to describe the
|
|
191 function @code{make-vector}.
|
0
|
192
|
|
193 @kbd{C-h f} is often useful just to verify that you have the right
|
442
|
194 spelling for the function name. If @kbd{C-h f} mentions a name from the
|
|
195 buffer as the default, that name must be defined as a Lisp function. If
|
|
196 that is all you want to know, just type @kbd{C-g} to cancel the @kbd{C-h
|
|
197 f} command, then go on editing.
|
0
|
198
|
|
199 @kindex C-h w
|
|
200 @findex where-is
|
442
|
201 @kbd{C-h w @var{command} @key{RET}} (@code{where-is}) tells you what
|
0
|
202 keys are bound to @var{command}. It prints a list of the keys in the
|
442
|
203 echo area. Alternatively, it informs you that a command is not bound to
|
|
204 any keys, which implies that you must use @kbd{M-x} to call the
|
|
205 command.
|
0
|
206
|
|
207 @kindex C-h v
|
|
208 @findex describe-variable
|
|
209 @kbd{C-h v} (@code{describe-variable}) is like @kbd{C-h f} but
|
|
210 describes Lisp variables instead of Lisp functions. Its default is the
|
|
211 Lisp symbol around or before point, if that is the name of a known Lisp
|
442
|
212 variable. @xref{Variables}.
|
0
|
213
|
442
|
214 @node Apropos, Library Keywords, Name Help, Help
|
0
|
215 @section Apropos
|
|
216
|
442
|
217 @kindex C-h A
|
0
|
218 @findex command-apropos
|
442
|
219 @cindex apropos
|
0
|
220
|
|
221 @table @kbd
|
442
|
222 @item C-h A
|
0
|
223 Show only symbols that are names of commands
|
442
|
224 (@code{command-apropos}).
|
0
|
225
|
|
226 @item M-x apropos @var{regexp}
|
442
|
227 Show all symbols whose names contain matches for @var{regexp}.
|
0
|
228 @end table
|
|
229
|
442
|
230 A more sophisticated sort of question to ask is, ``What are the
|
|
231 commands for working with files?'' To ask this question, type @kbd{C-h
|
|
232 a file @key{RET}}, which displays a list of all command names that
|
|
233 contain @samp{file}, including @code{copy-file}, @code{find-file}, and
|
|
234 so on. With each command name appears a brief description of how to use
|
|
235 the command, and what keys you can currently invoke it with. For
|
|
236 example, it would say that you can invoke @code{find-file} by typing
|
|
237 @kbd{C-x C-f}. The @kbd{A} in @kbd{C-h A} stands for `Apropos';
|
|
238 @kbd{C-h A} runs the command @code{command-apropos}. This command
|
|
239 normally checks only commands (interactive functions); if you specify a
|
|
240 prefix argument, it checks noninteractive functions as well.
|
0
|
241
|
442
|
242 Because @kbd{C-h A} looks only for functions whose names contain the
|
0
|
243 string you specify, you must use ingenuity in choosing the string. If
|
|
244 you are looking for commands for killing backwards and @kbd{C-h a
|
442
|
245 kill-backwards @key{RET}} doesn't reveal any, don't give up. Try just
|
|
246 @kbd{kill}, or just @kbd{backwards}, or just @kbd{back}. Be persistent.
|
|
247 Pretend you are playing Adventure. Also note that you can use a regular
|
|
248 expression as the argument, for more flexibility (@pxref{Regexps}).
|
0
|
249
|
|
250 Here is a set of arguments to give to @kbd{C-h a} that covers many
|
442
|
251 classes of XEmacs commands, since there are strong conventions for
|
|
252 naming the standard XEmacs commands. By giving you a feel for the
|
|
253 naming conventions, this set should also serve to aid you in developing
|
|
254 a technique for picking @code{apropos} strings.
|
0
|
255
|
|
256 @quotation
|
|
257 char, line, word, sentence, paragraph, region, page, sexp, list, defun,
|
442
|
258 rect, buffer, frame, window, face, file, dir, register, mode, beginning,
|
|
259 end, forward, backward, next, previous, up, down, search, goto, kill,
|
|
260 delete, mark, insert, yank, fill, indent, case, change, set, what, list,
|
|
261 find, view, describe, default.
|
0
|
262 @end quotation
|
|
263
|
|
264 @findex apropos
|
|
265 To list all Lisp symbols that contain a match for a regexp, not just
|
|
266 the ones that are defined as commands, use the command @kbd{M-x apropos}
|
442
|
267 instead of @kbd{C-h A}. This command does not check key bindings by
|
|
268 default; specify a numeric argument if you want it to check them.
|
|
269
|
|
270 @findex apropos-documentation
|
|
271 The @code{apropos-documentation} command is like @code{apropos} except
|
|
272 that it searches documentation strings for matches for the specified
|
|
273 regular expression.
|
|
274
|
|
275 @findex apropos-value
|
|
276 The @code{apropos-value} command is like @code{apropos} except that it
|
|
277 searches symbols' values for matches for the specified regular
|
|
278 expression. This command does not check function definitions or
|
|
279 property lists by default; specify a numeric argument if you want it to
|
|
280 check them.
|
|
281
|
|
282 @vindex apropos-do-all
|
|
283 If the variable @code{apropos-do-all} is non-@code{nil}, the commands
|
|
284 above all behave as if they had been given a prefix argument.
|
|
285
|
|
286 If you want more information about a function definition, variable or
|
|
287 symbol property listed in the Apropos buffer, you can click on it with
|
|
288 @kbd{Mouse-2} or move there and type @key{RET}.
|
|
289
|
|
290 @node Library Keywords, Help Mode, Apropos, Help
|
|
291 @section Keyword Search for Lisp Libraries
|
|
292
|
|
293 @kindex C-h p
|
|
294 @findex finder-by-keyword
|
|
295 The @kbd{C-h p} command lets you search the standard Emacs Lisp
|
|
296 libraries by topic keywords. Here is a partial list of keywords you can
|
|
297 use:
|
0
|
298
|
442
|
299 @display
|
|
300 abbrev abbreviation handling, typing shortcuts, macros
|
|
301 bib code related to the `bib' bibliography processor
|
|
302 c C, C++, and Objective-C language support
|
|
303 calendar calendar and time management support
|
|
304 comm communications, networking, remote access to files
|
|
305 data support for editing files of data
|
|
306 docs support for Emacs documentation
|
|
307 dumped files preloaded into Emacs
|
|
308 emulations emulations of other editors
|
|
309 extensions Emacs Lisp language extensions
|
|
310 faces support for multiple fonts
|
|
311 frames support for Emacs frames and window systems
|
|
312 games games, jokes and amusements
|
|
313 hardware support for interfacing with exotic hardware
|
|
314 help support for on-line help systems
|
|
315 hypermedia support for links between text or other media types
|
|
316 i18n internationalization and alternate character-set support
|
|
317 internal code for Emacs internals, build process, defaults
|
|
318 languages specialized modes for editing programming languages
|
|
319 lisp Lisp support, including Emacs Lisp
|
|
320 local code local to your site
|
|
321 maint maintenance aids for the Emacs development group
|
|
322 mail modes for electronic-mail handling
|
|
323 matching various sorts of searching and matching
|
|
324 mouse mouse support
|
|
325 mule multi-language extensions
|
|
326 news support for netnews reading and posting
|
|
327 oop support for object-oriented programming
|
|
328 outlines support for hierarchical outlining
|
|
329 processes process, subshell, compilation, and job control support
|
|
330 terminals support for terminal types
|
|
331 tex code related to the TeX formatter
|
|
332 tools programming tools
|
|
333 unix front-ends/assistants for, or emulators of, UNIX features
|
|
334 vms support code for vms
|
|
335 wp word processing
|
|
336 @end display
|
|
337
|
|
338 @node Help Mode, Misc Help, Library Keywords, Help
|
|
339 @section Help Mode Commands
|
|
340
|
|
341 Help buffers provide the commands of View mode (@pxref{Misc File
|
|
342 Ops}), plus a few special commands of their own.
|
|
343
|
|
344 @table @kbd
|
|
345 @item @key{SPC}
|
|
346 Scroll forward.
|
|
347 @item @key{DEL}
|
|
348 @itemx @key{BS}
|
|
349 Scroll backward.
|
|
350 @c @item @key{RET}
|
|
351 @c Follow a cross reference at point.
|
|
352 @c @item @key{TAB}
|
|
353 @c Move point forward to the next cross reference.
|
|
354 @c @item S-@key{TAB}
|
|
355 @c Move point back to the previous cross reference.
|
|
356 @c @item Mouse-2
|
|
357 @c Follow a cross reference that you click on.
|
|
358 @end table
|
|
359
|
|
360 When a command name (@pxref{M-x,, Running Commands by Name}) or
|
|
361 variable name (@pxref{Variables}) appears in the documentation, it
|
|
362 normally appears inside paired single-quotes.
|
|
363
|
|
364 @node Misc Help, , Help Mode, Help
|
0
|
365 @section Other Help Commands
|
|
366
|
|
367 @kindex C-h i
|
|
368 @findex info
|
442
|
369 @cindex Info
|
|
370 @cindex manuals, on-line
|
|
371 @cindex on-line manuals
|
0
|
372 @kbd{C-h i} (@code{info}) runs the Info program, which is used for
|
442
|
373 browsing through structured documentation files. The entire XEmacs manual
|
0
|
374 is available within Info. Eventually all the documentation of the GNU
|
|
375 system will be available. Type @kbd{h} after entering Info to run
|
|
376 a tutorial on using Info.
|
|
377
|
442
|
378 If you specify a numeric argument, @kbd{C-h i} prompts for the name of
|
|
379 a documentation file. This way, you can browse a file which doesn't
|
|
380 have an entry in the top-level Info menu. It is also handy when you
|
|
381 need to get to the documentation quickly, and you know the exact name of
|
|
382 the file.
|
|
383
|
|
384 @kindex C-h C-f
|
|
385 @kindex C-h C-k
|
|
386 @findex Info-elisp-ref
|
|
387 @findex Info-goto-emacs-command-node
|
2215
|
388 @findex Info-goto-emacs-key-command-node
|
442
|
389 There are two special help commands for accessing XEmacs documentation
|
|
390 through Info. @kbd{C-h C-f @var{function} @key{RET}} enters Info and
|
|
391 goes straight to the documentation of the XEmacs function
|
|
392 @var{function}. @kbd{C-h C-k @var{key}} enters Info and goes straight
|
|
393 to the documentation of the key @var{key}. These two keys run the
|
|
394 commands @code{Info-elisp-ref} and
|
2215
|
395 @code{Info-goto-emacs-key-command-node}. (GNU Emacs binds @kbd{C-h C-f}
|
|
396 to @code{Info-goto-emacs-command-node}, but this is less helpful to
|
|
397 programmers.)
|
442
|
398
|
0
|
399 @kindex C-h l
|
|
400 @findex view-lossage
|
|
401 If something surprising happens, and you are not sure what commands you
|
|
402 typed, use @kbd{C-h l} (@code{view-lossage}). @kbd{C-h l} prints the last
|
442
|
403 100 command characters you typed in. If you see commands that you don't
|
|
404 know, you can use @kbd{C-h c} to find out what they do.
|
0
|
405
|
|
406 @kindex C-h m
|
|
407 @findex describe-mode
|
442
|
408 XEmacs has several major modes. Each mode redefines a few keys and
|
0
|
409 makes a few other changes in how editing works. @kbd{C-h m}
|
|
410 (@code{describe-mode}) prints documentation on the current major mode,
|
|
411 which normally describes all the commands that are changed in this mode.
|
|
412
|
|
413 @kindex C-h b
|
|
414 @findex describe-bindings
|
|
415 @kbd{C-h b} (@code{describe-bindings}) and @kbd{C-h s}
|
442
|
416 (@code{describe-syntax}) present information about the current XEmacs
|
0
|
417 mode that is not covered by @kbd{C-h m}. @kbd{C-h b} displays a list of
|
442
|
418 all the key bindings currently in effect, with the local bindings of the
|
|
419 current major mode first, followed by the global bindings (@pxref{Key
|
0
|
420 Bindings}). @kbd{C-h s} displays the contents of the syntax table with
|
442
|
421 explanations of each character's syntax (@pxref{Syntax}).
|
0
|
422
|
442
|
423 You can get a similar list for a particular prefix key by typing
|
|
424 @kbd{C-h} after the prefix key. (There are a few prefix keys for which
|
|
425 this does not work---those that provide their own bindings for
|
|
426 @kbd{C-h}. One of these is @key{ESC}, because @kbd{@key{ESC} C-h} is
|
|
427 actually @kbd{C-M-h}, which marks a defun.)
|
|
428
|
|
429 @kindex C-h F
|
|
430 @findex xemacs-local-faq
|
0
|
431 @kindex C-h n
|
|
432 @findex view-emacs-news
|
|
433 @kindex C-h t
|
|
434 @findex help-with-tutorial
|
|
435 @kindex C-h C-c
|
|
436 @findex describe-copying
|
|
437 @kindex C-h C-d
|
|
438 @findex describe-distribution
|
|
439 @kindex C-h C-w
|
|
440 @findex describe-no-warranty
|
|
441 The other @kbd{C-h} options display various files of useful
|
442
|
442 information. @kbd{C-h C-w} (@code{describe-no-warranty}) displays the
|
|
443 full details on the complete absence of warranty for XEmacs. @kbd{C-h
|
|
444 n} (@code{view-emacs-news}) displays the file @file{xemacs/etc/NEWS},
|
2537
|
445 which contains documentation on XEmacs changes arranged
|
|
446 chronologically. @kbd{C-h F} (@code{xemacs-local-faq}) displays the
|
|
447 local version of the XEmacs FAQ (Frequently Answered Questions list).
|
|
448 @kbd{C-h t} (@code{help-with-tutorial}) displays the learn-by-doing
|
|
449 XEmacs tutorial. @kbd{C-h C-c} (@code{describe-copying}) displays the
|
|
450 file @file{xemacs/etc/COPYING}, which tells you the conditions you
|
|
451 must obey in distributing copies of XEmacs. @kbd{C-h C-d}
|
|
452 (@code{describe-distribution} displays the section of the FAQ that
|
|
453 tells you how you can get the latest version of XEmacs.
|