]> code.delx.au - gnu-emacs/blob - doc/emacs/help.texi
Document 'help-go-forward'
[gnu-emacs] / doc / emacs / help.texi
1 @c This is part of the Emacs manual.
2 @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2016 Free Software
3 @c Foundation, Inc.
4 @c See file emacs.texi for copying conditions.
5 @node Help
6 @chapter Help
7 @kindex Help
8 @cindex help
9 @cindex self-documentation
10 @findex help-command
11 @kindex C-h
12 @kindex F1
13
14 @kindex C-h C-h
15 @findex help-for-help
16 Emacs provides a wide variety of help commands, all accessible
17 through the prefix key @kbd{C-h} (or, equivalently, the function key
18 @key{F1}). These help commands are described in the following
19 sections. You can also type @kbd{C-h C-h} to view a list of help
20 commands (@code{help-for-help}). You can scroll the list with
21 @key{SPC} and @key{DEL}, then type the help command you want. To
22 cancel, type @kbd{C-g}.
23
24 Many help commands display their information in a special @dfn{help
25 buffer}. In this buffer, you can type @key{SPC} and @key{DEL} to
26 scroll and type @key{RET} to follow hyperlinks. @xref{Help Mode}.
27
28 @cindex searching documentation efficiently
29 @cindex looking for a subject in documentation
30 If you are looking for a certain feature, but don't know what it is
31 called or where to look, we recommend three methods. First, try an
32 apropos command, then try searching the manual index, then look in the
33 FAQ and the package keywords.
34
35 @table @kbd
36 @item C-h a @var{topics} @key{RET}
37 This searches for commands whose names match the argument
38 @var{topics}. The argument can be a keyword, a list of keywords, or a
39 regular expression (@pxref{Regexps}). @xref{Apropos}.
40
41 @item C-h i d m emacs @key{RET} i @var{topic} @key{RET}
42 This searches for @var{topic} in the indices of the Emacs Info manual,
43 displaying the first match found. Press @kbd{,} to see subsequent
44 matches. You can use a regular expression as @var{topic}.
45
46 @item C-h i d m emacs @key{RET} s @var{topic} @key{RET}
47 Similar, but searches the @emph{text} of the manual rather than the
48 indices.
49
50 @item C-h C-f
51 This displays the Emacs FAQ, using Info.
52
53 @item C-h p
54 This displays the available Emacs packages based on keywords.
55 @xref{Package Keywords}.
56 @end table
57
58 @kbd{C-h} or @key{F1} mean ``help'' in various other contexts as
59 well. For instance, you can type them after a prefix key to view a
60 list of the keys that can follow the prefix key. (You can also use
61 @kbd{?} in this context. A few prefix keys don't support @kbd{C-h}
62 or @kbd{?} in this way, because they define other meanings for those
63 inputs, but they all support @key{F1}.)
64
65 @menu
66 * Help Summary:: Brief list of all Help commands.
67 * Key Help:: Asking what a key does in Emacs.
68 * Name Help:: Asking about a command, variable or function name.
69 * Apropos:: Asking what pertains to a given topic.
70 * Help Mode:: Special features of Help mode and Help buffers.
71 * Package Keywords:: Finding Lisp libraries by keywords (topics).
72 * Language Help:: Help relating to international language support.
73 * Misc Help:: Other help commands.
74 * Help Files:: Commands to display auxiliary help files.
75 * Help Echo:: Help on active text and tooltips (``balloon help'').
76 @end menu
77
78 @iftex
79 @node Help Summary
80 @end iftex
81 @ifnottex
82 @node Help Summary
83 @section Help Summary
84 @end ifnottex
85
86 Here is a summary of help commands for accessing the built-in
87 documentation. Most of these are described in more detail in the
88 following sections.
89
90 @table @kbd
91 @item C-h a @var{topics} @key{RET}
92 Display a list of commands whose names match @var{topics}
93 (@code{apropos-command}).
94 @item C-h b
95 Display all active key bindings; minor mode bindings first, then those
96 of the major mode, then global bindings (@code{describe-bindings}).
97 @item C-h c @var{key}
98 Show the name of the command that the key sequence @var{key} is bound
99 to (@code{describe-key-briefly}). Here @kbd{c} stands for
100 ``character''. For more extensive information on @var{key}, use
101 @kbd{C-h k}.
102 @item C-h d @var{topics} @key{RET}
103 Display the commands and variables whose documentation matches
104 @var{topics} (@code{apropos-documentation}).
105 @item C-h e
106 Display the @file{*Messages*} buffer
107 (@code{view-echo-area-messages}).
108 @item C-h f @var{function} @key{RET}
109 Display documentation on the Lisp function named @var{function}
110 (@code{describe-function}). Since commands are Lisp functions,
111 this works for commands too.
112 @item C-h h
113 Display the @file{HELLO} file, which shows examples of various character
114 sets.
115 @item C-h i
116 Run Info, the GNU documentation browser (@code{info}). The Emacs
117 manual is available in Info.
118 @item C-h k @var{key}
119 Display the name and documentation of the command that @var{key} runs
120 (@code{describe-key}).
121 @item C-h l
122 Display a description of your last 300 keystrokes
123 (@code{view-lossage}).
124 @item C-h m
125 Display documentation of the current major mode and minor modes
126 (@code{describe-mode}).
127 @item C-h n
128 Display news of recent Emacs changes (@code{view-emacs-news}).
129 @item C-h o @var{symbol}
130 Display documentation of the Lisp symbol named @var{symbol}
131 (@code{describe-symbol}). This will show the documentation of all
132 kinds of symbols: functions, variables, and faces.
133 @item C-h p
134 Find packages by topic keyword (@code{finder-by-keyword}). This lists
135 packages using a package menu buffer. @xref{Packages}.
136 @item C-h P @var{package} @key{RET}
137 Display documentation about the specified package
138 (@code{describe-package}).
139 @item C-h r
140 Display the Emacs manual in Info (@code{info-emacs-manual}).
141 @item C-h s
142 Display the contents of the current @dfn{syntax table}
143 (@code{describe-syntax}). The syntax table says which characters are
144 opening delimiters, which are parts of words, and so on. @xref{Syntax
145 Tables,, Syntax Tables, elisp, The Emacs Lisp Reference Manual}, for
146 details.
147 @item C-h t
148 Enter the Emacs interactive tutorial (@code{help-with-tutorial}).
149 @item C-h v @var{var} @key{RET}
150 Display the documentation of the Lisp variable @var{var}
151 (@code{describe-variable}).
152 @item C-h w @var{command} @key{RET}
153 Show which keys run the command named @var{command} (@code{where-is}).
154 @item C-h C @var{coding} @key{RET}
155 Describe the coding system @var{coding}
156 (@code{describe-coding-system}).
157 @item C-h C @key{RET}
158 Describe the coding systems currently in use.
159 @item C-h F @var{command} @key{RET}
160 Enter Info and go to the node that documents the Emacs command
161 @var{command} (@code{Info-goto-emacs-command-node}).
162 @item C-h I @var{method} @key{RET}
163 Describe the input method @var{method} (@code{describe-input-method}).
164 @item C-h K @var{key}
165 Enter Info and go to the node that documents the key sequence
166 @var{key} (@code{Info-goto-emacs-key-command-node}).
167 @item C-h L @var{language-env} @key{RET}
168 Display information on the character sets, coding systems, and input
169 methods used in language environment @var{language-env}
170 (@code{describe-language-environment}).
171 @item C-h S @var{symbol} @key{RET}
172 Display the Info documentation on symbol @var{symbol} according to the
173 programming language you are editing (@code{info-lookup-symbol}).
174 @item C-h .
175 Display the help message for a special text area, if point is in one
176 (@code{display-local-help}). (These include, for example, links in
177 @file{*Help*} buffers.)
178 @end table
179
180 @node Key Help
181 @section Documentation for a Key
182
183 @findex describe-key-briefly
184 @findex describe-key
185 The help commands to get information about a key sequence are
186 @kbd{C-h c} (@code{describe-key-briefly}) and @kbd{C-h k}
187 (@code{describe-key}).
188
189 @kindex C-h c
190 @kbd{C-h c @var{key}} displays in the echo area the name of the
191 command that @var{key} is bound to. For example, @kbd{C-h c C-f}
192 displays @samp{forward-char}.
193
194 @cindex documentation string
195 @kindex C-h k
196 @kbd{C-h k @var{key}} is similar but gives more information: it
197 displays a help buffer containing the command's @dfn{documentation
198 string}, which describes exactly what the command does.
199
200 @kindex C-h K
201 @findex Info-goto-emacs-key-command-node
202 @kbd{C-h K @var{key}} displays the section of the Emacs manual that
203 describes the command corresponding to @var{key}.
204
205 @kbd{C-h c}, @kbd{C-h k} and @kbd{C-h K} work for any sort of key
206 sequences, including function keys, menus, and mouse events. For
207 instance, after @kbd{C-h k} you can select a menu item from the menu
208 bar, to view the documentation string of the command it runs.
209
210 @kindex C-h w
211 @findex where-is
212 @kbd{C-h w @var{command} @key{RET}} lists the keys that are bound to
213 @var{command}. It displays the list in the echo area. If it says the
214 command is not on any key, that means you must use @kbd{M-x} to run
215 it. @kbd{C-h w} runs the command @code{where-is}.
216
217 @node Name Help
218 @section Help by Command or Variable Name
219
220 @kindex C-h f
221 @findex describe-function
222 @kbd{C-h f @var{function} @key{RET}} (@code{describe-function})
223 displays the documentation of Lisp function @var{function}, in a
224 window. Since commands are Lisp functions, you can use this method to
225 view the documentation of any command whose name you know. For
226 example,
227
228 @example
229 C-h f auto-fill-mode @key{RET}
230 @end example
231
232 @noindent
233 displays the documentation of @code{auto-fill-mode}. This is the only
234 way to get the documentation of a command that is not bound to any key
235 (one which you would normally run using @kbd{M-x}).
236
237 @kbd{C-h f} is also useful for Lisp functions that you use in a Lisp
238 program. For example, if you have just written the expression
239 @code{(make-vector len)} and want to check that you are using
240 @code{make-vector} properly, type @kbd{C-h f make-vector @key{RET}}.
241 Because @kbd{C-h f} allows all function names, not just command names,
242 you may find that some of your favorite completion abbreviations that
243 work in @kbd{M-x} don't work in @kbd{C-h f}. An abbreviation that is
244 unique among command names may not be unique among all function names.
245
246 If you type @kbd{C-h f @key{RET}}, it describes the function called
247 by the innermost Lisp expression in the buffer around point,
248 @emph{provided} that function name is a valid, defined Lisp function.
249 (That name appears as the default while you enter the argument.) For
250 example, if point is located following the text @samp{(make-vector
251 (car x)}, the innermost list containing point is the one that starts
252 with @samp{(make-vector}, so @kbd{C-h f @key{RET}} describes the
253 function @code{make-vector}.
254
255 @kbd{C-h f} is also useful just to verify that you spelled a
256 function name correctly. If the minibuffer prompt for @kbd{C-h f}
257 shows the function name from the buffer as the default, it means that
258 name is defined as a Lisp function. Type @kbd{C-g} to cancel the
259 @kbd{C-h f} command if you don't really want to view the
260 documentation.
261
262 @kindex C-h v
263 @findex describe-variable
264 @kbd{C-h v} (@code{describe-variable}) is like @kbd{C-h f} but
265 describes Lisp variables instead of Lisp functions. Its default is
266 the Lisp symbol around or before point, if that is the name of a
267 defined Lisp variable. @xref{Variables}.
268
269 Help buffers that describe Emacs variables and functions normally
270 have hyperlinks to the corresponding source code, if you have the
271 source files installed (@pxref{Hyperlinking}).
272
273 @kindex C-h F
274 @findex Info-goto-emacs-command-node
275 To find a command's documentation in a manual, use @kbd{C-h F}
276 (@code{Info-goto-emacs-command-node}). This knows about various
277 manuals, not just the Emacs manual, and finds the right one.
278
279 @kindex C-h o
280 @findex describe-symbol
281 @kbd{C-h o} (@code{describe-symbol}) is like @kbd{C-h f} and
282 @kbd{C-h v}, but it describes any symbol, be it a function, a
283 variable, or a face. If the symbol has more than one definition, like
284 it has both definition as a function and as a variable, this command
285 will show the documentation of all of them, one after the other.
286
287 @node Apropos
288 @section Apropos
289 @cindex apropos
290
291 The @dfn{apropos} commands answer questions like, ``What are the
292 commands for working with files?'' More precisely, you specify an
293 @dfn{apropos pattern}, which means either a word, a list of words, or
294 a regular expression.
295
296 Each of the following apropos commands reads an apropos pattern in
297 the minibuffer, searches for items that match the pattern, and
298 displays the results in a different window.
299
300 @table @kbd
301 @item C-h a
302 @kindex C-h a
303 @findex apropos-command
304 Search for commands (@code{apropos-command}). With a prefix argument,
305 search for noninteractive functions too.
306
307 @item M-x apropos
308 @findex apropos
309 Search for functions and variables. Both interactive functions
310 (commands) and noninteractive functions can be found by this.
311
312 @item M-x apropos-user-option
313 @findex apropos-user-option
314 Search for user-customizable variables. With a prefix argument,
315 search for non-customizable variables too.
316
317 @item M-x apropos-variable
318 @findex apropos-variable
319 Search for variables. With a prefix argument, search for
320 customizable variables only.
321
322 @item M-x apropos-value
323 @findex apropos-value
324 Search for variables whose values match the specified pattern. With a
325 prefix argument, search also for functions with definitions matching
326 the pattern, and Lisp symbols with properties matching the pattern.
327
328 @item C-h d
329 @kindex C-h d
330 @findex apropos-documentation
331 Search for functions and variables whose documentation strings match
332 the specified pattern (@code{apropos-documentation}).
333 @end table
334
335 The simplest kind of apropos pattern is one word. Anything
336 containing that word matches the pattern. Thus, to find commands that
337 work on files, type @kbd{C-h a file @key{RET}}. This displays a list
338 of all command names that contain @samp{file}, including
339 @code{copy-file}, @code{find-file}, and so on. Each command name
340 comes with a brief description and a list of keys you can currently
341 invoke it with. In our example, it would say that you can invoke
342 @code{find-file} by typing @kbd{C-x C-f}.
343
344 For more information about a function definition, variable or symbol
345 property listed in an apropos buffer, you can click on it with
346 @kbd{Mouse-1} or @kbd{Mouse-2}, or move there and type @key{RET}.
347
348 When you specify more than one word in the apropos pattern, a name
349 must contain at least two of the words in order to match. Thus, if
350 you are looking for commands to kill a chunk of text before point, you
351 could try @kbd{C-h a kill back backward behind before @key{RET}}. The
352 real command name @code{kill-backward} will match that; if there were
353 a command @code{kill-text-before}, it would also match, since it
354 contains two of the specified words.
355
356 For even greater flexibility, you can specify a regular expression
357 (@pxref{Regexps}). An apropos pattern is interpreted as a regular
358 expression if it contains any of the regular expression special
359 characters, @samp{^$*+?.\[}.
360
361 Following the conventions for naming Emacs commands, here are some
362 words that you'll find useful in apropos patterns. By using them in
363 @kbd{C-h a}, you will also get a feel for the naming conventions.
364
365 @quotation
366 char, line, word, sentence, paragraph, region, page, sexp, list, defun,
367 rect, buffer, frame, window, face, file, dir, register, mode, beginning, end,
368 forward, backward, next, previous, up, down, search, goto, kill, delete,
369 mark, insert, yank, fill, indent, case, change, set, what, list, find,
370 view, describe, default.
371 @end quotation
372
373 @vindex apropos-do-all
374 If the variable @code{apropos-do-all} is non-@code{nil}, most
375 apropos commands behave as if they had been given a prefix argument.
376 There is one exception: @code{apropos-variable} without a prefix
377 argument will always search for all variables, no matter what the
378 value of @code{apropos-do-all} is.
379
380 @vindex apropos-sort-by-scores
381 @cindex apropos search results, order by score
382 @vindex apropos-documentation-sort-by-scores
383 By default, all apropos commands except @code{apropos-documentation}
384 list their results in alphabetical order. If the variable
385 @code{apropos-sort-by-scores} is non-@code{nil}, these commands
386 instead try to guess the relevance of each result, and display the
387 most relevant ones first. The @code{apropos-documentation} command
388 lists its results in order of relevance by default; to list them in
389 alphabetical order, change the variable
390 @code{apropos-documentation-sort-by-scores} to @code{nil}.
391
392 @node Help Mode
393 @section Help Mode Commands
394
395 Help buffers provide the same commands as View mode (@pxref{View
396 Mode}); for instance, @key{SPC} scrolls forward, and @key{DEL} or
397 @kbd{S-@key{SPC}} scrolls backward. A few special commands are also
398 provided:
399
400 @table @kbd
401 @item @key{RET}
402 Follow a cross reference at point (@code{help-follow}).
403 @item @key{TAB}
404 Move point forward to the next hyperlink (@code{forward-button}).
405 @item S-@key{TAB}
406 Move point back to the previous hyperlink (@code{backward-button}).
407 @item Mouse-1
408 @itemx Mouse-2
409 Follow a hyperlink that you click on.
410 @item C-c C-c
411 Show all documentation about the symbol at point
412 (@code{help-follow-symbol}).
413 @item C-c C-f
414 Go forward to the next help topic (@code{help-go-forward}).
415 @item C-c C-b
416 Go back to the previous help topic (@code{help-go-back}).
417 @end table
418
419 @cindex hyperlink
420 @findex help-follow
421 @findex help-go-back
422 @findex help-go-forward
423 @kindex RET @r{(Help mode)}
424 @kindex C-c C-b @r{(Help mode)}
425 @kindex C-c C-f @r{(Help mode)}
426 When a function name, variable name, or face name (@pxref{Faces})
427 appears in the documentation in the help buffer, it is normally an
428 underlined @dfn{hyperlink}. To view the associated documentation,
429 move point there and type @key{RET} (@code{help-follow}), or click on
430 the hyperlink with @kbd{Mouse-1} or @kbd{Mouse-2}. Doing so replaces
431 the contents of the help buffer; to retrace your steps, type @kbd{C-c
432 C-b} (@code{help-go-back}). While retracing your steps, you can go
433 forward by using @kbd{C-c C-b} (@code{help-go-forward}).
434
435 @cindex URL, viewing in help
436 @cindex help, viewing web pages
437 @cindex viewing web pages in help
438 @cindex web pages, viewing in help
439 @findex browse-url
440 A help buffer can also contain hyperlinks to Info manuals, source
441 code definitions, and URLs (web pages). The first two are opened in
442 Emacs, and the third using a web browser via the @code{browse-url}
443 command (@pxref{Browse-URL}).
444
445 @kindex TAB @r{(Help mode)}
446 @findex forward-button
447 @kindex S-TAB @r{(Help mode)}
448 @findex backward-button
449 In a help buffer, @key{TAB} (@code{forward-button}) moves point
450 forward to the next hyperlink, while @kbd{S-@key{TAB}}
451 (@code{backward-button}) point back to the previous hyperlink. These
452 commands act cyclically; for instance, typing @key{TAB} at the last
453 hyperlink moves back to the first hyperlink.
454
455 To view all documentation about any symbol in the text, move point
456 to there and type @kbd{C-c C-c} (@code{help-follow-symbol}). This
457 shows all available documentation about the symbol---as a variable,
458 function and/or face.
459
460 @node Package Keywords
461 @section Keyword Search for Packages
462 @cindex finder
463
464 Most optional features in Emacs are grouped into @dfn{packages}.
465 Emacs contains several hundred built-in packages, and more can be
466 installed over the network (@pxref{Packages}).
467
468 @kindex C-h p
469 @findex finder-by-keyword
470 To make it easier to find packages related to a topic, most packages
471 are associated with one or more @dfn{keywords} based on what they do.
472 Type @kbd{C-h p} (@code{finder-by-keyword}) to bring up a list of
473 package keywords, together with a description of what the keywords
474 mean. To view a list of packages for a given keyword, type @key{RET}
475 on that line; this displays the list of packages in a Package Menu
476 buffer (@pxref{Package Menu}).
477
478 @findex describe-package
479 @kindex C-h P
480 @kbd{C-h P} (@code{describe-package}) prompts for the name of a
481 package, and displays a help buffer describing the attributes of the
482 package and the features that it implements. The buffer lists the
483 keywords that relate to the package in the form of buttons. Click on
484 a button to see other packages related to that keyword.
485
486 @node Language Help
487 @section Help for International Language Support
488
489 For information on a specific language environment (@pxref{Language
490 Environments}), type @kbd{C-h L}
491 (@code{describe-language-environment}). This displays a help buffer
492 describing the languages supported by the language environment, and
493 listing the associated character sets, coding systems, and input
494 methods, as well as some sample text for that language environment.
495
496 The command @kbd{C-h h} (@code{view-hello-file}) displays the file
497 @file{etc/HELLO}, which demonstrates various character sets by showing
498 how to say ``hello'' in many languages.
499
500 The command @kbd{C-h I} (@code{describe-input-method}) describes an
501 input method---either a specified input method, or by default the
502 input method currently in use. @xref{Input Methods}.
503
504 The command @kbd{C-h C} (@code{describe-coding-system}) describes
505 coding systems---either a specified coding system, or the ones
506 currently in use. @xref{Coding Systems}.
507
508 @node Misc Help
509 @section Other Help Commands
510
511 @kindex C-h i
512 @findex info
513 @cindex Info
514 @cindex manuals, included
515 @kbd{C-h i} (@code{info}) runs the Info program, which browses
516 structured documentation files. The entire Emacs manual is available
517 within Info, along with many other manuals for the GNU system. Type
518 @kbd{h} after entering Info to run a tutorial on using Info.
519
520 @cindex find Info manual by its file name
521 With a numeric argument @var{n}, @kbd{C-h i} selects the Info buffer
522 @samp{*info*<@var{n}>}. This is useful if you want to browse multiple
523 Info manuals simultaneously. If you specify just @kbd{C-u} as the
524 prefix argument, @kbd{C-h i} prompts for the name of a documentation
525 file, so you can browse a file which doesn't have an entry in the
526 top-level Info menu.
527
528 The help commands @kbd{C-h F @var{function} @key{RET}} and @kbd{C-h
529 K @var{key}}, described above, enter Info and go straight to the
530 documentation of @var{function} or @var{key}.
531
532 @kindex C-h S
533 @findex info-lookup-symbol
534 When editing a program, if you have an Info version of the manual
535 for the programming language, you can use @kbd{C-h S}
536 (@code{info-lookup-symbol}) to find an entry for a symbol (keyword,
537 function or variable) in the proper manual. The details of how this
538 command works depend on the major mode.
539
540 @kindex C-h l
541 @findex view-lossage
542 If something surprising happens, and you are not sure what you typed,
543 use @kbd{C-h l} (@code{view-lossage}). @kbd{C-h l} displays your last
544 300 input keystrokes and the commands they invoked. If you see
545 commands that you are not familiar with, you can use @kbd{C-h k} or
546 @kbd{C-h f} to find out what they do.
547
548 @kindex C-h e
549 @findex view-echo-area-messages
550 To review recent echo area messages, use @kbd{C-h e}
551 (@code{view-echo-area-messages}). This displays the buffer
552 @file{*Messages*}, where those messages are kept.
553
554 @kindex C-h m
555 @findex describe-mode
556 Each Emacs major mode typically redefines a few keys and makes other
557 changes in how editing works. @kbd{C-h m} (@code{describe-mode})
558 displays documentation on the current major mode, which normally
559 describes the commands and features that are changed in this mode.
560
561 @kindex C-h b
562 @findex describe-bindings
563 @kindex C-h s
564 @findex describe-syntax
565 @kbd{C-h b} (@code{describe-bindings}) and @kbd{C-h s}
566 (@code{describe-syntax}) show other information about the current
567 environment within Emacs. @kbd{C-h b} displays a list of all the key
568 bindings now in effect: first the local bindings of the current minor
569 modes, then the local bindings defined by the current major mode, and
570 finally the global bindings (@pxref{Key Bindings}). @kbd{C-h s}
571 displays the contents of the syntax table, with explanations of each
572 character's syntax (@pxref{Syntax Tables,, Syntax Tables, elisp, The
573 Emacs Lisp Reference Manual}).
574
575 @findex describe-prefix-bindings
576 You can get a list of subcommands for a particular prefix key by
577 typing @kbd{C-h}, @kbd{?}, or @key{F1}
578 (@code{describe-prefix-bindings}) after the prefix key. (There are a
579 few prefix keys for which not all of these keys work---those that
580 provide their own bindings for that key. One of these prefix keys
581 is @key{ESC}, because @kbd{@key{ESC} C-h} is actually @kbd{C-M-h},
582 which marks a defun. However, @kbd{@key{ESC} @key{F1}} and
583 @kbd{@key{ESC} ?} work fine.)
584
585 @node Help Files
586 @section Help Files
587
588 Apart from the built-in documentation and manuals, Emacs contains
589 several other files describing topics like copying conditions, release
590 notes, instructions for debugging and reporting bugs, and so forth.
591 You can use the following commands to view these files. Apart from
592 @kbd{C-h g}, they all have the form @kbd{C-h C-@var{char}}.
593
594 @kindex C-h C-c
595 @findex describe-copying
596 @kindex C-h C-d
597 @findex view-emacs-debugging
598 @kindex C-h C-e
599 @findex view-external-packages
600 @kindex C-h C-f
601 @findex view-emacs-FAQ
602 @kindex C-h g
603 @findex describe-gnu-project
604 @kindex C-h C-m
605 @findex view-order-manuals
606 @kindex C-h C-n
607 @findex view-emacs-news
608 @kindex C-h C-o
609 @findex describe-distribution
610 @kindex C-h C-p
611 @findex view-emacs-problems
612 @kindex C-h C-t
613 @findex view-emacs-todo
614 @kindex C-h C-w
615 @findex describe-no-warranty
616
617 @table @kbd
618 @item C-h C-c
619 Display the rules under which you can copy and redistribute Emacs
620 (@code{describe-copying}).
621 @item C-h C-d
622 Display help for debugging Emacs (@code{view-emacs-debugging}).
623 @item C-h C-e
624 Display information about where to get external packages
625 (@code{view-external-packages}).
626 @item C-h C-f
627 Display the Emacs frequently-answered-questions list (@code{view-emacs-FAQ}).
628 @item C-h g
629 Visit a @uref{http://www.gnu.org} page with information about the GNU
630 Project (@code{describe-gnu-project}).
631 @item C-h C-m
632 Display information about ordering printed copies of Emacs manuals
633 (@code{view-order-manuals}).
634 @item C-h C-n
635 Display the news, which lists the new features in this
636 version of Emacs (@code{view-emacs-news}).
637 @item C-h C-o
638 Display how to order or download the latest version of
639 Emacs and other GNU software (@code{describe-distribution}).
640 @item C-h C-p
641 Display the list of known Emacs problems, sometimes with suggested
642 workarounds (@code{view-emacs-problems}).
643 @item C-h C-t
644 Display the Emacs to-do list (@code{view-emacs-todo}).
645 @item C-h C-w
646 Display the full details on the complete absence of warranty for GNU
647 Emacs (@code{describe-no-warranty}).
648 @end table
649
650 @node Help Echo
651 @section Help on Active Text and Tooltips
652
653 @cindex tooltips
654 @cindex balloon help
655 @cindex active text
656 In Emacs, stretches of @dfn{active text} (text that does something
657 special in response to mouse clicks or @key{RET}) often have
658 associated help text. This includes hyperlinks in Emacs buffers, as
659 well as parts of the mode line. On graphical displays, as well as
660 some text terminals which support mouse tracking, moving the mouse
661 over the active text displays the help text as a @dfn{tooltip}.
662 @xref{Tooltips}.
663
664 @kindex C-h .
665 @findex display-local-help
666 @vindex help-at-pt-display-when-idle
667 On terminals that don't support mouse-tracking, you can display the
668 help text for active buffer text at point by typing @kbd{C-h .}
669 (@code{display-local-help}). This shows the help text in the echo
670 area. To display help text automatically whenever it is available at
671 point, set the variable @code{help-at-pt-display-when-idle} to
672 @code{t}.