annotate man/help.texi @ 37020:25f0d349e50b

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