Mercurial > emacs
annotate man/help.texi @ 38212:6b14cc47a4f2
Major rewrite. Sections Tags, Emerge, Change Log and Authors
moved to maintaining.texi. Some sections reordered.
Node Misc for Programs moved to just before the language-specific sections.
New node Defuns contains an intro plus the old
Defuns node (now renamed Moving by Defuns)
as well as Imenu, Which Function, and a node
Left Margin Paren to explain the convention about this.
New node Parentheses now documents M-x check-parens.
It contains subnodes Expressions, Moving by Parens, and Matching.
Expressions and Moving by Parens contain the material
formerly in Lists and List Commands, but divided up differently.
The section Balanced Editing has been deleted.
Most of the C indentation customization (all except c-set-style),
has been replaced with a reference to the C Modes manual.
Documentation now is divided into three subsections.
Some rewrites in the Program Indent section about
C-u TAB and C-M-q.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 26 Jun 2001 13:43:32 +0000 |
parents | 3d209a687950 |
children | 23f63206a867 |
rev | line source |
---|---|
25829 | 1 @c This is part of the Emacs manual. |
28433 | 2 @c Copyright (C) 1985, 86, 87, 93, 94, 95, 97, 2000 |
3 @c Free Software Foundation, Inc. | |
25829 | 4 @c See file emacs.texi for copying conditions. |
5 @node Help, Mark, M-x, Top | |
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 Emacs provides extensive help features accessible through a single | |
15 character, @kbd{C-h}. @kbd{C-h} is a prefix key that is used only for | |
16 documentation-printing commands. The characters that you can type after | |
17 @kbd{C-h} are called @dfn{help options}. One help option is @kbd{C-h}; | |
18 that is how you ask for help about using @kbd{C-h}. To cancel, type | |
19 @kbd{C-g}. The function key @key{F1} is equivalent to @kbd{C-h}. | |
20 | |
21 @kindex C-h C-h | |
22 @findex help-for-help | |
23 @kbd{C-h C-h} (@code{help-for-help}) displays a list of the possible | |
24 help options, each with a brief description. Before you type a help | |
25 option, you can use @key{SPC} or @key{DEL} to scroll through the list. | |
26 | |
27 @kbd{C-h} or @key{F1} means ``help'' in various other contexts as | |
28 well. For example, in the middle of @code{query-replace}, it describes | |
29 the options available for how to operate on the current match. After a | |
30 prefix key, it displays a list of the alternatives that can follow the | |
31 prefix key. (A few prefix keys don't support @kbd{C-h}, because they | |
32 define other meanings for it, but they all support @key{F1}.) | |
33 | |
34 Most help buffers use a special major mode, Help mode, which lets you | |
28433 | 35 scroll conveniently with @key{SPC} and @key{DEL}. It also offers |
36159
41b70b041a5a
Clean up and move index-searching recommendation.
Richard M. Stallman <rms@gnu.org>
parents:
34024
diff
changeset
|
36 hyperlinks to further help regarding cross-referenced names, Info nodes, |
28433 | 37 customization buffers and the like. @xref{Help Mode}. |
25829 | 38 |
32276
49a967404304
(Help): Describe an orderly procedure to find features in the docs.
Eli Zaretskii <eliz@gnu.org>
parents:
30801
diff
changeset
|
39 @cindex searching documentation efficiently |
49a967404304
(Help): Describe an orderly procedure to find features in the docs.
Eli Zaretskii <eliz@gnu.org>
parents:
30801
diff
changeset
|
40 @cindex looking for a subject in documentation |
36380
7db61ad895f6
In top node, say that order of suggestions is significant.
Richard M. Stallman <rms@gnu.org>
parents:
36365
diff
changeset
|
41 If you are looking for a certain feature, but don't know where |
7db61ad895f6
In top node, say that order of suggestions is significant.
Richard M. Stallman <rms@gnu.org>
parents:
36365
diff
changeset
|
42 exactly it is documented, and aren't even sure what is the name of the |
7db61ad895f6
In top node, say that order of suggestions is significant.
Richard M. Stallman <rms@gnu.org>
parents:
36365
diff
changeset
|
43 related command or option, we recommend trying these methods. Usually |
7db61ad895f6
In top node, say that order of suggestions is significant.
Richard M. Stallman <rms@gnu.org>
parents:
36365
diff
changeset
|
44 it is best to start with an apropos command, then try searching the |
7db61ad895f6
In top node, say that order of suggestions is significant.
Richard M. Stallman <rms@gnu.org>
parents:
36365
diff
changeset
|
45 manual index, then finally look in the FAQ and the package keywords. |
32276
49a967404304
(Help): Describe an orderly procedure to find features in the docs.
Eli Zaretskii <eliz@gnu.org>
parents:
30801
diff
changeset
|
46 |
49a967404304
(Help): Describe an orderly procedure to find features in the docs.
Eli Zaretskii <eliz@gnu.org>
parents:
30801
diff
changeset
|
47 @table @kbd |
49a967404304
(Help): Describe an orderly procedure to find features in the docs.
Eli Zaretskii <eliz@gnu.org>
parents:
30801
diff
changeset
|
48 @item C-h a @var{topic} @key{RET} |
36159
41b70b041a5a
Clean up and move index-searching recommendation.
Richard M. Stallman <rms@gnu.org>
parents:
34024
diff
changeset
|
49 This searches for commands whose names match @var{topic}, which should |
41b70b041a5a
Clean up and move index-searching recommendation.
Richard M. Stallman <rms@gnu.org>
parents:
34024
diff
changeset
|
50 be a regular expression (@pxref{Regexps}). Browse the buffer popped |
41b70b041a5a
Clean up and move index-searching recommendation.
Richard M. Stallman <rms@gnu.org>
parents:
34024
diff
changeset
|
51 up by Emacs, to find what you are looking for. @xref{Apropos}. |
32276
49a967404304
(Help): Describe an orderly procedure to find features in the docs.
Eli Zaretskii <eliz@gnu.org>
parents:
30801
diff
changeset
|
52 |
36454
570f4012f2b5
(Help): Add @key[RET} in @items.
Gerd Moellmann <gerd@gnu.org>
parents:
36380
diff
changeset
|
53 @item M-x apropos @key{RET} @var{topic} @key{RET} |
32362
c74db5a73b6f
Fix last change for docs search procedure (suggested by Dave Love).
Eli Zaretskii <eliz@gnu.org>
parents:
32276
diff
changeset
|
54 This works like @kbd{C-h a}, but it also searches for user options and |
c74db5a73b6f
Fix last change for docs search procedure (suggested by Dave Love).
Eli Zaretskii <eliz@gnu.org>
parents:
32276
diff
changeset
|
55 other variables, in case the feature you are looking for is controlled |
c74db5a73b6f
Fix last change for docs search procedure (suggested by Dave Love).
Eli Zaretskii <eliz@gnu.org>
parents:
32276
diff
changeset
|
56 by an option, not a command. @xref{Apropos}. |
c74db5a73b6f
Fix last change for docs search procedure (suggested by Dave Love).
Eli Zaretskii <eliz@gnu.org>
parents:
32276
diff
changeset
|
57 |
36454
570f4012f2b5
(Help): Add @key[RET} in @items.
Gerd Moellmann <gerd@gnu.org>
parents:
36380
diff
changeset
|
58 @item M-x apropos-documentation @key{RET} @var{topic} @key{RET} |
32432 | 59 This searches the @emph{documentation strings} (the built-in short |
60 descriptions) of all variables and functions (not their names) for a | |
61 match for @var{topic}, a regular expression. @xref{Apropos}. | |
62 | |
37151
3d209a687950
Add `d' after `C-h i' in examples.
Richard M. Stallman <rms@gnu.org>
parents:
36655
diff
changeset
|
63 @item C-h i d m emacs @key{RET} i @var{topic} @key{RET} |
36159
41b70b041a5a
Clean up and move index-searching recommendation.
Richard M. Stallman <rms@gnu.org>
parents:
34024
diff
changeset
|
64 This looks up @var{topic} in the indices of the Emacs on-line manual. |
36365 | 65 If there are several matches, Emacs displays the first one. You can then |
36159
41b70b041a5a
Clean up and move index-searching recommendation.
Richard M. Stallman <rms@gnu.org>
parents:
34024
diff
changeset
|
66 press @key{,} to move to other matches, until you find what you are |
41b70b041a5a
Clean up and move index-searching recommendation.
Richard M. Stallman <rms@gnu.org>
parents:
34024
diff
changeset
|
67 looking for. |
41b70b041a5a
Clean up and move index-searching recommendation.
Richard M. Stallman <rms@gnu.org>
parents:
34024
diff
changeset
|
68 |
37151
3d209a687950
Add `d' after `C-h i' in examples.
Richard M. Stallman <rms@gnu.org>
parents:
36655
diff
changeset
|
69 @item C-h i d m emacs @key{RET} s @var{topic} @key{RET} |
36159
41b70b041a5a
Clean up and move index-searching recommendation.
Richard M. Stallman <rms@gnu.org>
parents:
34024
diff
changeset
|
70 Similar, but searches for @var{topic} (which can be a regular |
41b70b041a5a
Clean up and move index-searching recommendation.
Richard M. Stallman <rms@gnu.org>
parents:
34024
diff
changeset
|
71 expression) in the @emph{text} of the manual rather than in its |
41b70b041a5a
Clean up and move index-searching recommendation.
Richard M. Stallman <rms@gnu.org>
parents:
34024
diff
changeset
|
72 indices. |
41b70b041a5a
Clean up and move index-searching recommendation.
Richard M. Stallman <rms@gnu.org>
parents:
34024
diff
changeset
|
73 |
32276
49a967404304
(Help): Describe an orderly procedure to find features in the docs.
Eli Zaretskii <eliz@gnu.org>
parents:
30801
diff
changeset
|
74 @item C-h F |
49a967404304
(Help): Describe an orderly procedure to find features in the docs.
Eli Zaretskii <eliz@gnu.org>
parents:
30801
diff
changeset
|
75 This brings up the Emacs FAQ, where you can use the usual search |
49a967404304
(Help): Describe an orderly procedure to find features in the docs.
Eli Zaretskii <eliz@gnu.org>
parents:
30801
diff
changeset
|
76 commands (@pxref{Search}) to find the information. |
49a967404304
(Help): Describe an orderly procedure to find features in the docs.
Eli Zaretskii <eliz@gnu.org>
parents:
30801
diff
changeset
|
77 |
32362
c74db5a73b6f
Fix last change for docs search procedure (suggested by Dave Love).
Eli Zaretskii <eliz@gnu.org>
parents:
32276
diff
changeset
|
78 @item C-h p |
32276
49a967404304
(Help): Describe an orderly procedure to find features in the docs.
Eli Zaretskii <eliz@gnu.org>
parents:
30801
diff
changeset
|
79 Finally, you can try looking up a suitable package using keywords |
32362
c74db5a73b6f
Fix last change for docs search procedure (suggested by Dave Love).
Eli Zaretskii <eliz@gnu.org>
parents:
32276
diff
changeset
|
80 pertinent to the feature you need. @xref{Library Keywords}. |
32276
49a967404304
(Help): Describe an orderly procedure to find features in the docs.
Eli Zaretskii <eliz@gnu.org>
parents:
30801
diff
changeset
|
81 @end table |
49a967404304
(Help): Describe an orderly procedure to find features in the docs.
Eli Zaretskii <eliz@gnu.org>
parents:
30801
diff
changeset
|
82 |
25829 | 83 @menu |
84 * Help Summary:: Brief list of all Help commands. | |
85 * Key Help:: Asking what a key does in Emacs. | |
86 * Name Help:: Asking about a command, variable or function name. | |
87 * Apropos:: Asking what pertains to a given topic. | |
88 * Library Keywords:: Finding Lisp libraries by keywords (topics). | |
89 * Language Help:: Help relating to international language support. | |
90 * Help Mode:: Special features of Help mode and Help buffers. | |
91 * Misc Help:: Other help commands. | |
28433 | 92 * Help Echo:: Help on active text and tooltips (`balloon help') |
25829 | 93 @end menu |
94 | |
95 @iftex | |
96 @node Help Summary | |
97 @end iftex | |
98 @ifinfo | |
99 @node Help Summary | |
100 @section Help Summary | |
101 @end ifinfo | |
102 | |
103 Here is a summary of the defined help commands. | |
104 | |
105 @table @kbd | |
106 @item C-h a @var{regexp} @key{RET} | |
107 Display a list of commands whose names match @var{regexp} | |
108 (@code{apropos-command}). | |
109 @item C-h b | |
110 Display a table of all key bindings in effect now, in this order: minor | |
111 mode bindings, major mode bindings, and global bindings | |
112 (@code{describe-bindings}). | |
113 @item C-h c @var{key} | |
114 Print the name of the command that @var{key} runs | |
36185 | 115 (@code{describe-key-briefly}). Here @kbd{c} stands for ``character.'' |
116 For more extensive information on @var{key}, use @kbd{C-h k}. | |
25829 | 117 @item C-h f @var{function} @key{RET} |
118 Display documentation on the Lisp function named @var{function} | |
119 (@code{describe-function}). Since commands are Lisp functions, | |
120 a command name may be used. | |
121 @item C-h h | |
37151
3d209a687950
Add `d' after `C-h i' in examples.
Richard M. Stallman <rms@gnu.org>
parents:
36655
diff
changeset
|
122 Display the @file{HELLO} file, which shows examples of various character |
25829 | 123 sets. |
124 @item C-h i | |
125 Run Info, the program for browsing documentation files (@code{info}). | |
126 The complete Emacs manual is available on-line in Info. | |
127 @item C-h k @var{key} | |
128 Display the name and documentation of the command that @var{key} runs | |
129 (@code{describe-key}). | |
130 @item C-h l | |
131 Display a description of the last 100 characters you typed | |
132 (@code{view-lossage}). | |
133 @item C-h m | |
134 Display documentation of the current major mode (@code{describe-mode}). | |
135 @item C-h n | |
136 Display documentation of Emacs changes, most recent first | |
137 (@code{view-emacs-news}). | |
26767 | 138 @item C-h P |
139 Display info on known problems with Emacs and possible workarounds | |
140 (@code{view-emacs-problems}). | |
25829 | 141 @item C-h p |
142 Find packages by topic keyword (@code{finder-by-keyword}). | |
143 @item C-h s | |
144 Display current contents of the syntax table, plus an explanation of | |
145 what they mean (@code{describe-syntax}). @xref{Syntax}. | |
146 @item C-h t | |
147 Enter the Emacs interactive tutorial (@code{help-with-tutorial}). | |
148 @item C-h v @var{var} @key{RET} | |
149 Display the documentation of the Lisp variable @var{var} | |
150 (@code{describe-variable}). | |
151 @item C-h w @var{command} @key{RET} | |
152 Print which keys run the command named @var{command} (@code{where-is}). | |
153 @item C-h C @var{coding} @key{RET} | |
154 Describe coding system @var{coding} | |
155 (@code{describe-coding-system}). | |
156 @item C-h C @key{RET} | |
157 Describe the coding systems currently in use. | |
158 @item C-h I @var{method} @key{RET} | |
159 Describe an input method (@code{describe-input-method}). | |
160 @item C-h L @var{language-env} @key{RET} | |
161 Describe information on the character sets, coding systems and input | |
162 methods used for language environment @var{language-env} | |
163 (@code{describe-language-environment}). | |
164 @item C-h C-c | |
165 Display the copying conditions for GNU Emacs. | |
166 @item C-h C-d | |
167 Display information about getting new versions of GNU Emacs. | |
168 @item C-h C-f @var{function} @key{RET} | |
169 Enter Info and go to the node documenting the Emacs function @var{function} | |
170 (@code{Info-goto-emacs-command-node}). | |
171 @item C-h C-k @var{key} | |
172 Enter Info and go to the node where the key sequence @var{key} is | |
173 documented (@code{Info-goto-emacs-key-command-node}). | |
174 @item C-h C-p | |
175 Display information about the GNU Project. | |
176 @item C-h @key{TAB} @var{symbol} @key{RET} | |
177 Display the Info documentation on symbol @var{symbol} according to the | |
178 programming language you are editing (@code{info-lookup-symbol}). | |
179 @end table | |
180 | |
181 @node Key Help | |
182 @section Documentation for a Key | |
183 | |
184 @kindex C-h c | |
185 @findex describe-key-briefly | |
186 The most basic @kbd{C-h} options are @kbd{C-h c} | |
187 (@code{describe-key-briefly}) and @w{@kbd{C-h k}} (@code{describe-key}). | |
188 @kbd{C-h c @var{key}} prints in the echo area the name of the command | |
189 that @var{key} is bound to. For example, @kbd{C-h c C-f} prints | |
190 @samp{forward-char}. Since command names are chosen to describe what | |
191 the commands do, this is a good way to get a very brief description of | |
192 what @var{key} does. | |
193 | |
194 @kindex C-h k | |
195 @findex describe-key | |
196 @kbd{C-h k @var{key}} is similar but gives more information: it | |
197 displays the documentation string of the command as well as its name. | |
198 This is too big for the echo area, so a window is used for the display. | |
199 | |
200 @kbd{C-h c} and @kbd{C-h k} work for any sort of key sequences, | |
201 including function keys and mouse events. | |
202 | |
203 @node Name Help | |
204 @section Help by Command or Variable Name | |
205 | |
206 @kindex C-h f | |
207 @findex describe-function | |
208 @kbd{C-h f} (@code{describe-function}) reads the name of a Lisp function | |
209 using the minibuffer, then displays that function's documentation string | |
210 in a window. Since commands are Lisp functions, you can use this to get | |
211 the documentation of a command that you know by name. For example, | |
212 | |
213 @example | |
214 C-h f auto-fill-mode @key{RET} | |
215 @end example | |
216 | |
217 @noindent | |
218 displays the documentation of @code{auto-fill-mode}. This is the only | |
219 way to get the documentation of a command that is not bound to any key | |
220 (one which you would normally run using @kbd{M-x}). | |
221 | |
222 @kbd{C-h f} is also useful for Lisp functions that you are planning to | |
223 use in a Lisp program. For example, if you have just written the | |
224 expression @code{(make-vector len)} and want to check that you are using | |
225 @code{make-vector} properly, type @kbd{C-h f make-vector @key{RET}}. | |
226 Because @kbd{C-h f} allows all function names, not just command names, | |
227 you may find that some of your favorite abbreviations that work in | |
228 @kbd{M-x} don't work in @kbd{C-h f}. An abbreviation may be unique | |
229 among command names yet fail to be unique when other function names are | |
230 allowed. | |
231 | |
232 The function name for @kbd{C-h f} to describe has a default which is | |
233 used if you type @key{RET} leaving the minibuffer empty. The default is | |
234 the function called by the innermost Lisp expression in the buffer around | |
235 point, @emph{provided} that is a valid, defined Lisp function name. For | |
236 example, if point is located following the text @samp{(make-vector (car | |
237 x)}, the innermost list containing point is the one that starts with | |
238 @samp{(make-vector}, so the default is to describe the function | |
239 @code{make-vector}. | |
240 | |
241 @kbd{C-h f} is often useful just to verify that you have the right | |
242 spelling for the function name. If @kbd{C-h f} mentions a name from the | |
243 buffer as the default, that name must be defined as a Lisp function. If | |
244 that is all you want to know, just type @kbd{C-g} to cancel the @kbd{C-h | |
245 f} command, then go on editing. | |
246 | |
247 @kindex C-h w | |
248 @findex where-is | |
249 @kbd{C-h w @var{command} @key{RET}} tells you what keys are bound to | |
250 @var{command}. It prints a list of the keys in the echo area. If it | |
251 says the command is not on any key, you must use @kbd{M-x} to run it. | |
252 @kbd{C-h w} runs the command @code{where-is}. | |
253 | |
254 @kbd{C-h v} (@code{describe-variable}) is like @kbd{C-h f} but describes | |
255 Lisp variables instead of Lisp functions. Its default is the Lisp symbol | |
256 around or before point, but only if that is the name of a known Lisp | |
257 variable. @xref{Variables}.@refill | |
258 | |
36159
41b70b041a5a
Clean up and move index-searching recommendation.
Richard M. Stallman <rms@gnu.org>
parents:
34024
diff
changeset
|
259 Help buffers describing variables or functions defined in Lisp |
41b70b041a5a
Clean up and move index-searching recommendation.
Richard M. Stallman <rms@gnu.org>
parents:
34024
diff
changeset
|
260 normally have hyperlinks to the Lisp definition, if you have the Lisp |
41b70b041a5a
Clean up and move index-searching recommendation.
Richard M. Stallman <rms@gnu.org>
parents:
34024
diff
changeset
|
261 source files installed. If you know Lisp, this provides the ultimate |
41b70b041a5a
Clean up and move index-searching recommendation.
Richard M. Stallman <rms@gnu.org>
parents:
34024
diff
changeset
|
262 documentation. If you don't know Lisp, you should learn it. If you |
41b70b041a5a
Clean up and move index-searching recommendation.
Richard M. Stallman <rms@gnu.org>
parents:
34024
diff
changeset
|
263 are treating Emacs as an object file, then you are just @emph{using} |
41b70b041a5a
Clean up and move index-searching recommendation.
Richard M. Stallman <rms@gnu.org>
parents:
34024
diff
changeset
|
264 Emacs. For real intimacy with Emacs, you must read the source code. |
41b70b041a5a
Clean up and move index-searching recommendation.
Richard M. Stallman <rms@gnu.org>
parents:
34024
diff
changeset
|
265 |
25829 | 266 @node Apropos |
267 @section Apropos | |
268 | |
269 @kindex C-h a | |
270 @findex apropos-command | |
271 @cindex apropos | |
272 A more sophisticated sort of question to ask is, ``What are the | |
273 commands for working with files?'' To ask this question, type @kbd{C-h | |
274 a file @key{RET}}, which displays a list of all command names that | |
275 contain @samp{file}, including @code{copy-file}, @code{find-file}, and | |
276 so on. With each command name appears a brief description of how to use | |
277 the command, and what keys you can currently invoke it with. For | |
278 example, it would say that you can invoke @code{find-file} by typing | |
36185 | 279 @kbd{C-x C-f}. The @kbd{a} in @kbd{C-h a} stands for ``Apropos''; |
25829 | 280 @kbd{C-h a} runs the command @code{apropos-command}. This command |
281 normally checks only commands (interactive functions); if you specify a | |
282 prefix argument, it checks noninteractive functions as well. | |
283 | |
284 Because @kbd{C-h a} looks only for functions whose names contain the | |
285 string you specify, you must use ingenuity in choosing the | |
286 string. If you are looking for commands for killing backwards and | |
287 @kbd{C-h a kill-backwards @key{RET}} doesn't reveal any, don't give up. | |
288 Try just @kbd{kill}, or just @kbd{backwards}, or just @kbd{back}. Be | |
289 persistent. Also note that you can use a regular expression as the | |
290 argument, for more flexibility (@pxref{Regexps}). | |
291 | |
292 Here is a set of arguments to give to @kbd{C-h a} that covers many | |
293 classes of Emacs commands, since there are strong conventions for naming | |
294 the standard Emacs commands. By giving you a feel for the naming | |
295 conventions, this set should also serve to aid you in developing a | |
296 technique for picking @code{apropos} strings. | |
297 | |
298 @quotation | |
299 char, line, word, sentence, paragraph, region, page, sexp, list, defun, | |
300 rect, buffer, frame, window, face, file, dir, register, mode, beginning, end, | |
301 forward, backward, next, previous, up, down, search, goto, kill, delete, | |
302 mark, insert, yank, fill, indent, case, change, set, what, list, find, | |
303 view, describe, default. | |
304 @end quotation | |
305 | |
306 @findex apropos-variable | |
307 To list all user variables that match a regexp, use the command | |
308 @kbd{M-x apropos-variable}. This command shows only user variables and | |
309 customization options by default; if you specify a prefix argument, it | |
310 checks all variables. | |
311 | |
312 @findex apropos | |
313 To list all Lisp symbols that contain a match for a regexp, not just | |
314 the ones that are defined as commands, use the command @kbd{M-x apropos} | |
315 instead of @kbd{C-h a}. This command does not check key bindings by | |
316 default; specify a numeric argument if you want it to check them. | |
317 | |
318 @findex apropos-documentation | |
319 The @code{apropos-documentation} command is like @code{apropos} except | |
320 that it searches documentation strings as well as symbol names for | |
321 matches for the specified regular expression. | |
322 | |
323 @findex apropos-value | |
324 The @code{apropos-value} command is like @code{apropos} except that it | |
325 searches symbols' values for matches for the specified regular | |
326 expression. This command does not check function definitions or | |
327 property lists by default; specify a numeric argument if you want it to | |
328 check them. | |
329 | |
330 @vindex apropos-do-all | |
331 If the variable @code{apropos-do-all} is non-@code{nil}, the commands | |
332 above all behave as if they had been given a prefix argument. | |
333 | |
334 If you want more information about a function definition, variable or | |
335 symbol property listed in the Apropos buffer, you can click on it with | |
336 @kbd{Mouse-2} or move there and type @key{RET}. | |
337 | |
338 @node Library Keywords | |
339 @section Keyword Search for Lisp Libraries | |
340 | |
341 @kindex C-h p | |
342 @findex finder-by-keyword | |
343 The @kbd{C-h p} command lets you search the standard Emacs Lisp | |
344 libraries by topic keywords. Here is a partial list of keywords you can | |
345 use: | |
346 | |
347 @display | |
348 abbrev --- abbreviation handling, typing shortcuts, macros. | |
349 bib --- support for the bibliography processor @code{bib}. | |
350 c --- C and C++ language support. | |
351 calendar --- calendar and time management support. | |
352 comm --- communications, networking, remote access to files. | |
353 data --- support for editing files of data. | |
354 docs --- support for Emacs documentation. | |
355 emulations --- emulations of other editors. | |
356 extensions --- Emacs Lisp language extensions. | |
357 faces --- support for using faces (fonts and colors; @pxref{Faces}). | |
358 frames --- support for Emacs frames and window systems. | |
359 games --- games, jokes and amusements. | |
360 hardware --- support for interfacing with exotic hardware. | |
361 help --- support for on-line help systems. | |
362 hypermedia --- support for links within text, or other media types. | |
363 i18n --- internationalization and alternate character-set support. | |
364 internal --- code for Emacs internals, build process, defaults. | |
365 languages --- specialized modes for editing programming languages. | |
366 lisp --- support for using Lisp (including Emacs Lisp). | |
367 local --- libraries local to your site. | |
368 maint --- maintenance aids for the Emacs development group. | |
369 mail --- modes for electronic-mail handling. | |
370 matching --- searching and matching. | |
371 news --- support for netnews reading and posting. | |
372 non-text --- support for editing files that are not ordinary text. | |
373 oop --- support for object-oriented programming. | |
374 outlines --- hierarchical outlining. | |
375 processes --- process, subshell, compilation, and job control support. | |
376 terminals --- support for terminal types. | |
377 tex --- support for the @TeX{} formatter. | |
378 tools --- programming tools. | |
379 unix --- front-ends/assistants for, or emulators of, Unix features. | |
380 vms --- support code for VMS. | |
381 wp --- word processing. | |
382 @end display | |
383 | |
384 @node Language Help | |
385 @section Help for International Language Support | |
386 | |
387 You can use the command @kbd{C-h L} | |
388 (@code{describe-language-environment}) to find out the support for a | |
389 specific language environment. @xref{Language Environments}. This | |
390 tells you which languages this language environment is useful for, and | |
391 lists the character sets, coding systems, and input methods that go with | |
392 it. It also shows some sample text to illustrate scripts. | |
393 | |
394 The command @kbd{C-h h} (@code{view-hello-file}) displays the file | |
395 @file{etc/HELLO}, which shows how to say ``hello'' in many languages. | |
396 | |
397 The command @kbd{C-h I} (@code{describe-input-method}) describes | |
398 information about input methods---either a specified input method, or by | |
399 default the input method in use. @xref{Input Methods}. | |
400 | |
401 The command @kbd{C-h C} (@code{describe-coding-system}) describes | |
402 information about coding systems---either a specified coding system, or | |
403 the ones currently in use. @xref{Coding Systems}. | |
404 | |
405 @node Help Mode | |
406 @section Help Mode Commands | |
407 | |
408 Help buffers provide the commands of View mode (@pxref{Misc File | |
409 Ops}), plus a few special commands of their own. | |
410 | |
411 @table @kbd | |
412 @item @key{SPC} | |
413 Scroll forward. | |
414 @item @key{DEL} | |
36655
985393bc6af7
(Help Mode): Mention the backspace key.
Eli Zaretskii <eliz@gnu.org>
parents:
36454
diff
changeset
|
415 @itemx @key{BS} |
985393bc6af7
(Help Mode): Mention the backspace key.
Eli Zaretskii <eliz@gnu.org>
parents:
36454
diff
changeset
|
416 Scroll backward. On some keyboards, this key is known as @key{BS} or |
985393bc6af7
(Help Mode): Mention the backspace key.
Eli Zaretskii <eliz@gnu.org>
parents:
36454
diff
changeset
|
417 @key{backspace}. |
25829 | 418 @item @key{RET} |
419 Follow a cross reference at point. | |
420 @item @key{TAB} | |
421 Move point forward to the next cross reference. | |
422 @item S-@key{TAB} | |
423 Move point back to the previous cross reference. | |
424 @item Mouse-2 | |
425 Follow a cross reference that you click on. | |
426 @end table | |
427 | |
428 When a command name (@pxref{M-x,, Running Commands by Name}) or | |
429 variable name (@pxref{Variables}) appears in the documentation, it | |
430 normally appears inside paired single-quotes. You can click on the name | |
431 with @kbd{Mouse-2}, or move point there and type @key{RET}, to view the | |
432 documentation of that command or variable. Use @kbd{C-c C-b} to retrace | |
433 your steps. | |
434 | |
435 @kindex @key{TAB} @r{(Help mode)} | |
436 @findex help-next-ref | |
437 @kindex S-@key{TAB} @r{(Help mode)} | |
438 @findex help-previous-ref | |
439 There are convenient commands for moving point to cross references in | |
440 the help text. @key{TAB} (@code{help-next-ref}) moves point down to the | |
441 next cross reference. Use @kbd{S-@key{TAB}} to move point up to the | |
442 previous cross reference (@code{help-previous-ref}). | |
443 | |
444 @node Misc Help | |
445 @section Other Help Commands | |
446 | |
447 @kindex C-h i | |
448 @findex info | |
449 @cindex Info | |
450 @cindex manuals, on-line | |
451 @cindex on-line manuals | |
452 @kbd{C-h i} (@code{info}) runs the Info program, which is used for | |
453 browsing through structured documentation files. The entire Emacs manual | |
454 is available within Info. Eventually all the documentation of the GNU | |
455 system will be available. Type @kbd{h} after entering Info to run | |
456 a tutorial on using Info. | |
457 | |
458 If you specify a numeric argument, @kbd{C-h i} prompts for the name of | |
459 a documentation file. This way, you can browse a file which doesn't | |
460 have an entry in the top-level Info menu. It is also handy when you | |
461 need to get to the documentation quickly, and you know the exact name of | |
462 the file. | |
463 | |
464 @kindex C-h C-f | |
465 @kindex C-h C-k | |
466 @findex Info-goto-emacs-key-command-node | |
467 @findex Info-goto-emacs-command-node | |
468 There are two special help commands for accessing Emacs documentation | |
469 through Info. @kbd{C-h C-f @var{function} @key{RET}} enters Info and | |
470 goes straight to the documentation of the Emacs function | |
471 @var{function}. @kbd{C-h C-k @var{key}} enters Info and goes straight | |
472 to the documentation of the key @var{key}. These two keys run the | |
473 commands @code{Info-goto-emacs-command-node} and | |
474 @code{Info-goto-emacs-key-command-node}. | |
475 | |
476 When editing a program, if you have an Info version of the manual for | |
477 the programming language, you can use the command @kbd{C-h C-i} to refer | |
478 to the manual documentation for a symbol (keyword, function or | |
479 variable). The details of how this command works depend on the major | |
480 mode. | |
481 | |
482 @kindex C-h l | |
483 @findex view-lossage | |
484 If something surprising happens, and you are not sure what commands you | |
485 typed, use @kbd{C-h l} (@code{view-lossage}). @kbd{C-h l} prints the last | |
486 100 command characters you typed in. If you see commands that you don't | |
487 know, you can use @kbd{C-h c} to find out what they do. | |
488 | |
489 @kindex C-h m | |
490 @findex describe-mode | |
491 Emacs has numerous major modes, each of which redefines a few keys and | |
492 makes a few other changes in how editing works. @kbd{C-h m} | |
493 (@code{describe-mode}) prints documentation on the current major mode, | |
494 which normally describes all the commands that are changed in this | |
495 mode. | |
496 | |
497 @kindex C-h b | |
498 @findex describe-bindings | |
499 @kbd{C-h b} (@code{describe-bindings}) and @kbd{C-h s} | |
500 (@code{describe-syntax}) present other information about the current | |
501 Emacs mode. @kbd{C-h b} displays a list of all the key bindings now in | |
502 effect; the local bindings defined by the current minor modes first, | |
503 then the local bindings defined by the current major mode, and finally | |
504 the global bindings (@pxref{Key Bindings}). @kbd{C-h s} displays the | |
505 contents of the syntax table, with explanations of each character's | |
506 syntax (@pxref{Syntax}). | |
507 | |
508 You can get a similar list for a particular prefix key by typing | |
509 @kbd{C-h} after the prefix key. (There are a few prefix keys for which | |
510 this does not work---those that provide their own bindings for | |
511 @kbd{C-h}. One of these is @key{ESC}, because @kbd{@key{ESC} C-h} is | |
512 actually @kbd{C-M-h}, which marks a defun.) | |
513 | |
514 @kindex C-h F | |
515 @findex view-emacs-FAQ | |
516 @kindex C-h n | |
517 @findex view-emacs-news | |
518 @kindex C-h C-c | |
519 @findex describe-copying | |
520 @kindex C-h C-d | |
521 @findex describe-distribution | |
522 @kindex C-h C-w | |
523 @findex describe-no-warranty | |
524 @kindex C-h C-p | |
525 @findex describe-project | |
26767 | 526 @kindex C-h P |
527 @findex view-emacs-problems | |
25829 | 528 The other @kbd{C-h} options display various files of useful |
529 information. @kbd{C-h C-w} displays the full details on the complete | |
530 absence of warranty for GNU Emacs. @kbd{C-h n} (@code{view-emacs-news}) | |
531 displays the file @file{emacs/etc/NEWS}, which contains documentation on | |
532 Emacs changes arranged chronologically. @kbd{C-h F} | |
533 (@code{view-emacs-FAQ}) displays the Emacs frequently-answered-questions | |
534 list. @kbd{C-h t} (@code{help-with-tutorial}) displays the | |
535 learn-by-doing Emacs tutorial. @kbd{C-h C-c} (@code{describe-copying}) | |
536 displays the file @file{emacs/etc/COPYING}, which tells you the | |
537 conditions you must obey in distributing copies of Emacs. @kbd{C-h C-d} | |
538 (@code{describe-distribution}) displays the file | |
539 @file{emacs/etc/DISTRIB}, which tells you how you can order a copy of | |
540 the latest version of Emacs. @kbd{C-h C-p} (@code{describe-project}) | |
26767 | 541 displays general information about the GNU Project. @kbd{C-h P} |
542 (@code{view-emacs-problems}) displays the file | |
543 @file{emacs/etc/PROBLEMS}, which lists known problems with Emacs in | |
544 various situations with solutions or workarounds in many cases. | |
28433 | 545 |
546 @node Help Echo | |
547 @section Help on Active Text and Tooltips | |
548 | |
549 @cindex tooltips | |
550 @cindex ballon help | |
36185 | 551 When a region of text is ``active,'' so that you can select it with |
552 the mouse or a key like @kbd{RET}, it often has associated help text. | |
553 Areas of the mode line are examples. This help will normally be | |
554 printed in the echo area when you move point into the active text. In | |
555 a window system you can display the help text as a ``tooltip.'' | |
556 @xref{Tooltips}. |