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