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