help.texi 24.9 KB
Newer Older
Glenn Morris's avatar
Glenn Morris committed
1
@c This is part of the Emacs manual.
2
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
3
@c   Free Software Foundation, Inc.
Glenn Morris's avatar
Glenn Morris committed
4 5 6 7 8 9 10 11 12 13 14 15
@c See file emacs.texi for copying conditions.
@node Help, Mark, M-x, Top
@chapter Help
@kindex Help
@cindex help
@cindex self-documentation
@findex help-command
@kindex C-h
@kindex F1

@kindex C-h C-h
@findex help-for-help
16 17 18 19 20 21 22 23 24 25 26
  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}.

  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}.
Glenn Morris's avatar
Glenn Morris committed
27 28 29 30 31 32 33 34 35 36 37 38

@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.

@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
39
regular expression (@pxref{Regexps}).  @xref{Apropos}.
Glenn Morris's avatar
Glenn Morris committed
40 41

@item C-h i d m emacs @key{RET} i @var{topic} @key{RET}
42 43 44
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}.
Glenn Morris's avatar
Glenn Morris committed
45 46 47 48 49 50

@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
51
This displays the Emacs FAQ, using Info.
Glenn Morris's avatar
Glenn Morris committed
52 53 54

@item C-h p
This displays the available Emacs packages based on keywords.
55
@xref{Package Keywords}.
Glenn Morris's avatar
Glenn Morris committed
56 57
@end table

58 59 60 61 62 63
  @kbd{C-h} or @key{F1} means ``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.  (A few prefix keys
don't support @kbd{C-h} in this way, because they define other
meanings for it, but they all support @key{F1} for help.)

Glenn Morris's avatar
Glenn Morris committed
64
@menu
65 66 67 68
* 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.
Glenn Morris's avatar
Glenn Morris committed
69
* Help Mode::           Special features of Help mode and Help buffers.
70
* Package Keywords::    Finding Lisp libraries by keywords (topics).
Glenn Morris's avatar
Glenn Morris committed
71
* Language Help::       Help relating to international language support.
72
* Misc Help::           Other help commands.
73
* Help Files::          Commands to display auxiliary help files.
Glenn Morris's avatar
Glenn Morris committed
74
* Help Echo::           Help on active text and tooltips ("balloon help").
Glenn Morris's avatar
Glenn Morris committed
75 76 77 78 79 80 81 82 83 84
@end menu

@iftex
@node Help Summary
@end iftex
@ifnottex
@node Help Summary
@section Help Summary
@end ifnottex

85 86 87
  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.
Glenn Morris's avatar
Glenn Morris committed
88 89 90 91

@table @kbd
@item C-h a @var{topics} @key{RET}
Display a list of commands whose names match @var{topics}
92
(@code{apropos-command}).
Glenn Morris's avatar
Glenn Morris committed
93 94 95 96
@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}).
@item C-h c @var{key}
97 98
Show the name of the command that the key sequence @var{key} is bound
to (@code{describe-key-briefly}).  Here @kbd{c} stands for
Glenn Morris's avatar
Glenn Morris committed
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
``character.''  For more extensive information on @var{key}, use
@kbd{C-h k}.
@item C-h d @var{topics} @key{RET}
Display the commands and variables whose documentation matches
@var{topics} (@code{apropos-documentation}).
@item C-h e
Display the @code{*Messages*} buffer
(@code{view-echo-area-messages}).
@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.
@item C-h h
Display the @file{HELLO} file, which shows examples of various character
sets.
@item C-h i
115 116
Run Info, the GNU documentation browser (@code{info}).  The Emacs
manual is available in Info.
Glenn Morris's avatar
Glenn Morris committed
117 118 119 120
@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
121
Display a description of your last 300 keystrokes
Glenn Morris's avatar
Glenn Morris committed
122 123 124
(@code{view-lossage}).
@item C-h m
Display documentation of the current major mode (@code{describe-mode}).
125 126
@item C-h n
Display news of recent Emacs changes (@code{view-emacs-news}).
Glenn Morris's avatar
Glenn Morris committed
127
@item C-h p
128
Find packages by topic keyword (@code{finder-by-keyword}).  This lists
129
packages using a package menu buffer.  @xref{Packages}.
130 131
@item C-h P @var{package} @key{RET}
Display documentation about the package named @var{package}
132
(@code{describe-package}).
133 134
@item C-h r
Display the Emacs manual in Info (@code{info-emacs-manual}).
Glenn Morris's avatar
Glenn Morris committed
135
@item C-h s
136 137 138 139 140
Display the contents of the current @dfn{syntax table}
(@code{describe-syntax}).  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.
Glenn Morris's avatar
Glenn Morris committed
141 142 143 144 145 146 147 148 149 150 151 152
@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}).
@item C-h w @var{command} @key{RET}
Show which keys run the command named @var{command} (@code{where-is}).
@item C-h C @var{coding} @key{RET}
Describe the coding system @var{coding}
(@code{describe-coding-system}).
@item C-h C @key{RET}
Describe the coding systems currently in use.
153 154 155
@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}).
Glenn Morris's avatar
Glenn Morris committed
156 157
@item C-h I @var{method} @key{RET}
Describe the input method @var{method} (@code{describe-input-method}).
158 159 160
@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}).
Glenn Morris's avatar
Glenn Morris committed
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
@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}).
@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}).
@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
@samp{*Help*} buffers.)
@end table

@node Key Help
@section Documentation for a Key

@findex describe-key-briefly
178
@findex describe-key
Glenn Morris's avatar
Glenn Morris committed
179
  The help commands to get information about a key sequence are
180 181
@kbd{C-h c} (@code{describe-key-briefly}) and @kbd{C-h k}
(@code{describe-key}).
Glenn Morris's avatar
Glenn Morris committed
182

183 184 185 186 187 188
@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
Glenn Morris's avatar
Glenn Morris committed
189 190
@kindex C-h k
  @kbd{C-h k @var{key}} is similar but gives more information: it
191 192
displays a help buffer containing the command's @dfn{documentation
string}, which describes exactly what the command does.
Glenn Morris's avatar
Glenn Morris committed
193 194 195

@kindex C-h K
@findex Info-goto-emacs-key-command-node
196 197
  @kbd{C-h K @var{key}} displays the section of the Emacs manual that
describes the command corresponding to @var{key}.
Glenn Morris's avatar
Glenn Morris committed
198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263

  @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.  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}.

@node Name Help
@section Help by Command or Variable Name

@kindex C-h f
@findex describe-function
  @kbd{C-h f @var{function} @key{RET}} (@code{describe-function})
displays the documentation of Lisp function @var{function}, in a
window.  Since commands are Lisp functions, you can use this method to
view the documentation of any command whose name you know.  For
example,

@example
C-h f auto-fill-mode @key{RET}
@end example

@noindent
displays the documentation of @code{auto-fill-mode}.  This is the only
way to get the documentation of a command that is not bound to any key
(one which you would normally run using @kbd{M-x}).

  @kbd{C-h f} is also useful 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 @kbd{C-h f make-vector @key{RET}}.
Because @kbd{C-h f} allows all function names, not just command names,
you may find that some of your favorite completion abbreviations that
work in @kbd{M-x} don't work in @kbd{C-h f}.  An abbreviation that is
unique among command names may not be unique among all function names.

  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 @kbd{C-h f @key{RET}} will describe 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.

@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
264 265
have hyperlinks to the corresponding source code, if you have the
source files installed (@pxref{Hyperlinking}).
Glenn Morris's avatar
Glenn Morris committed
266 267 268

@kindex C-h F
@findex Info-goto-emacs-command-node
269
  To find a command's documentation in a manual, use @kbd{C-h F}
Glenn Morris's avatar
Glenn Morris committed
270 271 272 273 274
(@code{Info-goto-emacs-command-node}).  This knows about various
manuals, not just the Emacs manual, and finds the right one.

@node Apropos
@section Apropos
275
@cindex apropos
Glenn Morris's avatar
Glenn Morris committed
276 277 278 279

  The @dfn{apropos} commands answer questions like, ``What are the
commands for working with files?''  More precisely, you specify an
@dfn{apropos pattern}, which means either a word, a list of words, or
280 281 282 283 284
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.
Glenn Morris's avatar
Glenn Morris committed
285 286

@table @kbd
287 288 289 290 291
@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.
Glenn Morris's avatar
Glenn Morris committed
292

293 294 295 296
@item M-x apropos
@findex apropos
Search for functions and variables.  Both interactive functions
(commands) and noninteractive functions can be found by this.
Glenn Morris's avatar
Glenn Morris committed
297

298 299 300 301
@item M-x apropos-variable
@findex apropos-variable
Search for user-customizable variables.  With a prefix argument,
search for non-customizable variables too.
Glenn Morris's avatar
Glenn Morris committed
302

303 304 305 306 307
@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.
Glenn Morris's avatar
Glenn Morris committed
308

309 310 311 312 313
@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}).
Glenn Morris's avatar
Glenn Morris committed
314 315
@end table

316 317 318 319
  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
Glenn Morris's avatar
Glenn Morris committed
320 321 322 323 324 325
@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}.

  For more information about a function definition, variable or symbol
326
property listed in an apropos buffer, you can click on it with
Glenn Morris's avatar
Glenn Morris committed
327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360
@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}, the apropos
commands always behave as if they had been given a prefix argument.

@vindex apropos-sort-by-scores
@cindex apropos search results, order by score
@vindex apropos-documentation-sort-by-scores
361 362 363 364 365 366 367 368
  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}.
Glenn Morris's avatar
Glenn Morris committed
369 370 371 372

@node Help Mode
@section Help Mode Commands

373
  Help buffers provide the same commands as View mode (@pxref{View
374 375
Mode}); for instance, @key{SPC} scrolls forward, and @key{DEL} scrolls
backward.  A few special commands are also provided:
Glenn Morris's avatar
Glenn Morris committed
376 377 378

@table @kbd
@item @key{RET}
379
Follow a cross reference at point (@code{help-follow}).
Glenn Morris's avatar
Glenn Morris committed
380
@item @key{TAB}
381
Move point forward to the next hyperlink (@code{forward-button}).
Glenn Morris's avatar
Glenn Morris committed
382
@item S-@key{TAB}
383
Move point back to the previous hyperlink (@code{backward-button}).
Glenn Morris's avatar
Glenn Morris committed
384 385
@item Mouse-1
@itemx Mouse-2
386
Follow a hyperlink that you click on.
Glenn Morris's avatar
Glenn Morris committed
387
@item C-c C-c
388 389 390 391
Show all documentation about the symbol at point
(@code{help-follow-symbol}).
@item C-c C-b
Go back to the previous help topic (@code{help-go-back}).
Glenn Morris's avatar
Glenn Morris committed
392 393
@end table

394 395 396 397 398 399 400 401 402 403 404 405
@cindex hyperlink
@findex help-follow
@findex help-go-back
@kindex RET @r{(Help mode)}
@kindex C-c C-b @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} (@code{help-go-back}).
Glenn Morris's avatar
Glenn Morris committed
406 407 408 409 410 411

@cindex URL, viewing in help
@cindex help, viewing web pages
@cindex viewing web pages in help
@cindex web pages, viewing in help
@findex browse-url
412 413 414 415
  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}).
Glenn Morris's avatar
Glenn Morris committed
416

417
@kindex TAB @r{(Help mode)}
418
@findex forward-button
419
@kindex S-TAB @r{(Help mode)}
420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438
@findex backward-button
  In a help buffer, @key{TAB} (@code{forward-button}) moves point
forward to the next hyperlink, while @kbd{S-@key{TAB}}
(@code{backward-button}) point back to the previous hyperlink.  These
commands act cyclically; for instance, typing @key{TAB} at the last
hyperlink moves back to the first hyperlink.

  To view all documentation about any symbol in the text, move point
to there and type @kbd{C-c C-c} (@code{help-follow-symbol}).  This
shows all available documentation about the symbol---as a variable,
function and/or 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}).
Glenn Morris's avatar
Glenn Morris committed
439 440 441

@kindex C-h p
@findex finder-by-keyword
442 443 444 445 446 447 448 449 450 451 452 453 454
  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, and displays a help buffer describing the attributes of the
package and the features that it implements.
Glenn Morris's avatar
Glenn Morris committed
455 456 457 458

@node Language Help
@section Help for International Language Support

459 460 461 462 463 464
  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.
Glenn Morris's avatar
Glenn Morris committed
465 466

  The command @kbd{C-h h} (@code{view-hello-file}) displays the file
467 468
@file{etc/HELLO}, which demonstrates various character sets by showing
how to say ``hello'' in many languages.
Glenn Morris's avatar
Glenn Morris committed
469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506

  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
@findex info
@cindex Info
@cindex manuals, on-line
@cindex on-line manuals
  @kbd{C-h i} (@code{info}) runs the Info program, which browses
structured documentation files.  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}
507 508 509
(@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.
Glenn Morris's avatar
Glenn Morris committed
510 511 512

@kindex C-h l
@findex view-lossage
513 514 515 516
  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
300 input keystrokes.  If you see commands that you don't know, you can
use @kbd{C-h c} to find out what they do.
Glenn Morris's avatar
Glenn Morris committed
517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539

@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
@code{*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.

@kindex C-h b
@findex describe-bindings
  @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
540 541
character's syntax (@pxref{Syntax Tables,, Syntax Tables, elisp, The
Emacs Lisp Reference Manual}).
Glenn Morris's avatar
Glenn Morris committed
542

543
@findex describe-prefix-bindings
Glenn Morris's avatar
Glenn Morris committed
544
  You can get a list of subcommands for a particular prefix key by
545 546 547 548 549
typing @kbd{C-h} (@code{describe-prefix-bindings}) 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.)
Glenn Morris's avatar
Glenn Morris committed
550 551 552 553

@node Help Files
@section Help Files

554 555 556 557 558
  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}}.
Glenn Morris's avatar
Glenn Morris committed
559 560 561 562

@kindex C-h C-c
@findex describe-copying
@kindex C-h C-d
563
@findex view-emacs-debugging
Glenn Morris's avatar
Glenn Morris committed
564
@kindex C-h C-e
565
@findex view-external-packages
Glenn Morris's avatar
Glenn Morris committed
566 567
@kindex C-h C-f
@findex view-emacs-FAQ
568 569 570 571
@kindex C-h g
@findex describe-gnu-project
@kindex C-h C-m
@findex view-order-manuals
Glenn Morris's avatar
Glenn Morris committed
572 573
@kindex C-h C-n
@findex view-emacs-news
574 575
@kindex C-h C-o
@findex describe-distribution
Glenn Morris's avatar
Glenn Morris committed
576
@kindex C-h C-p
577
@findex view-emacs-problems
Glenn Morris's avatar
Glenn Morris committed
578 579 580 581 582 583 584
@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
585 586
Display the rules under which you can copy and redistribute Emacs
(@code{describe-copying}).
Glenn Morris's avatar
Glenn Morris committed
587
@item C-h C-d
588
Display help for debugging Emacs (@code{view-emacs-debugging}).
589
@item C-h C-e
590
Display information about where to get external packages
591
(@code{view-external-packages}).
Glenn Morris's avatar
Glenn Morris committed
592 593
@item C-h C-f
Display the Emacs frequently-answered-questions list (@code{view-emacs-FAQ}).
594
@item C-h g
595
Display information about the GNU Project (@code{describe-gnu-project}).
596
@item C-h C-m
597
Display information about ordering printed copies of Emacs manuals
598
(@code{view-order-manuals}).
Glenn Morris's avatar
Glenn Morris committed
599
@item C-h C-n
600 601
Display the ``news'' file, which lists the new features in this
version of Emacs (@code{view-emacs-news}).
602 603 604
@item C-h C-o
Display how to order or download the latest version of
Emacs and other GNU software (@code{describe-distribution}).
Glenn Morris's avatar
Glenn Morris committed
605
@item C-h C-p
606 607
Display the list of known Emacs problems, sometimes with suggested
workarounds (@code{view-emacs-problems}).
Glenn Morris's avatar
Glenn Morris committed
608
@item C-h C-t
609
Display the Emacs to-do list (@code{view-emacs-todo}).
Glenn Morris's avatar
Glenn Morris committed
610 611 612 613 614 615 616 617 618 619
@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 tooltips
@cindex balloon help
620 621 622 623 624 625
  In Emacs, stretches of ``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}.
Richard M. Stallman's avatar
Richard M. Stallman committed
626
@xref{Tooltips}.
Glenn Morris's avatar
Glenn Morris committed
627 628 629 630

@kindex C-h .
@findex display-local-help
@vindex help-at-pt-display-when-idle
631 632 633 634 635 636
  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}.