annotate man/fixit.texi @ 37543:b54a861e38de

*** empty log message ***
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 02 May 2001 13:41:46 +0000
parents f863383a5c3e
children 939c227505cd
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.
Dave Love <fx@gnu.org>
parents:
diff changeset
2 @c Copyright (C) 1985, 86, 87, 93, 94, 95, 1997 Free Software Foundation, Inc.
Dave Love <fx@gnu.org>
parents:
diff changeset
3 @c See file emacs.texi for copying conditions.
Dave Love <fx@gnu.org>
parents:
diff changeset
4 @node Fixit, Files, Search, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
5 @chapter Commands for Fixing Typos
Dave Love <fx@gnu.org>
parents:
diff changeset
6 @cindex typos, fixing
Dave Love <fx@gnu.org>
parents:
diff changeset
7 @cindex mistakes, correcting
Dave Love <fx@gnu.org>
parents:
diff changeset
8
Dave Love <fx@gnu.org>
parents:
diff changeset
9 In this chapter we describe the commands that are especially useful for
Dave Love <fx@gnu.org>
parents:
diff changeset
10 the times when you catch a mistake in your text just after you have made
Dave Love <fx@gnu.org>
parents:
diff changeset
11 it, or change your mind while composing text on the fly.
Dave Love <fx@gnu.org>
parents:
diff changeset
12
Dave Love <fx@gnu.org>
parents:
diff changeset
13 The most fundamental command for correcting erroneous editing is the
Dave Love <fx@gnu.org>
parents:
diff changeset
14 undo command, @kbd{C-x u} or @kbd{C-_}. This command undoes a single
Dave Love <fx@gnu.org>
parents:
diff changeset
15 command (usually), a part of a command (in the case of
Dave Love <fx@gnu.org>
parents:
diff changeset
16 @code{query-replace}), or several consecutive self-inserting characters.
Dave Love <fx@gnu.org>
parents:
diff changeset
17 Consecutive repetitions of @kbd{C-_} or @kbd{C-x u} undo earlier and
Dave Love <fx@gnu.org>
parents:
diff changeset
18 earlier changes, back to the limit of the undo information available.
36314
dc1d222b639d (Fixit): Fix "for for". From "Nelson H. F. Beebe" <beebe@math.utah.edu>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
19 @xref{Undo}, for more information.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
20
Dave Love <fx@gnu.org>
parents:
diff changeset
21 @menu
Dave Love <fx@gnu.org>
parents:
diff changeset
22 * Kill Errors:: Commands to kill a batch of recently entered text.
Dave Love <fx@gnu.org>
parents:
diff changeset
23 * Transpose:: Exchanging two characters, words, lines, lists...
Dave Love <fx@gnu.org>
parents:
diff changeset
24 * Fixing Case:: Correcting case of last word entered.
Dave Love <fx@gnu.org>
parents:
diff changeset
25 * Spelling:: Apply spelling checker to a word, or a whole file.
Dave Love <fx@gnu.org>
parents:
diff changeset
26 @end menu
Dave Love <fx@gnu.org>
parents:
diff changeset
27
Dave Love <fx@gnu.org>
parents:
diff changeset
28 @node Kill Errors
Dave Love <fx@gnu.org>
parents:
diff changeset
29 @section Killing Your Mistakes
Dave Love <fx@gnu.org>
parents:
diff changeset
30
Dave Love <fx@gnu.org>
parents:
diff changeset
31 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
32 @item @key{DEL}
Dave Love <fx@gnu.org>
parents:
diff changeset
33 Delete last character (@code{delete-backward-char}).
Dave Love <fx@gnu.org>
parents:
diff changeset
34 @item M-@key{DEL}
Dave Love <fx@gnu.org>
parents:
diff changeset
35 Kill last word (@code{backward-kill-word}).
Dave Love <fx@gnu.org>
parents:
diff changeset
36 @item C-x @key{DEL}
Dave Love <fx@gnu.org>
parents:
diff changeset
37 Kill to beginning of sentence (@code{backward-kill-sentence}).
Dave Love <fx@gnu.org>
parents:
diff changeset
38 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
39
Dave Love <fx@gnu.org>
parents:
diff changeset
40 The @key{DEL} character (@code{delete-backward-char}) is the most
Dave Love <fx@gnu.org>
parents:
diff changeset
41 important correction command. It deletes the character before point.
Dave Love <fx@gnu.org>
parents:
diff changeset
42 When @key{DEL} follows a self-inserting character command, you can think
Dave Love <fx@gnu.org>
parents:
diff changeset
43 of it as canceling that command. However, avoid the mistake of thinking
Dave Love <fx@gnu.org>
parents:
diff changeset
44 of @key{DEL} as a general way to cancel a command!
Dave Love <fx@gnu.org>
parents:
diff changeset
45
Dave Love <fx@gnu.org>
parents:
diff changeset
46 When your mistake is longer than a couple of characters, it might be
Dave Love <fx@gnu.org>
parents:
diff changeset
47 more convenient to use @kbd{M-@key{DEL}} or @kbd{C-x @key{DEL}}.
Dave Love <fx@gnu.org>
parents:
diff changeset
48 @kbd{M-@key{DEL}} kills back to the start of the last word, and @kbd{C-x
Dave Love <fx@gnu.org>
parents:
diff changeset
49 @key{DEL}} kills back to the start of the last sentence. @kbd{C-x
Dave Love <fx@gnu.org>
parents:
diff changeset
50 @key{DEL}} is particularly useful when you change your mind about the
Dave Love <fx@gnu.org>
parents:
diff changeset
51 phrasing of the text you are writing. @kbd{M-@key{DEL}} and @kbd{C-x
Dave Love <fx@gnu.org>
parents:
diff changeset
52 @key{DEL}} save the killed text for @kbd{C-y} and @kbd{M-y} to
Dave Love <fx@gnu.org>
parents:
diff changeset
53 retrieve. @xref{Yanking}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
54
Dave Love <fx@gnu.org>
parents:
diff changeset
55 @kbd{M-@key{DEL}} is often useful even when you have typed only a few
Dave Love <fx@gnu.org>
parents:
diff changeset
56 characters wrong, if you know you are confused in your typing and aren't
Dave Love <fx@gnu.org>
parents:
diff changeset
57 sure exactly what you typed. At such a time, you cannot correct with
Dave Love <fx@gnu.org>
parents:
diff changeset
58 @key{DEL} except by looking at the screen to see what you did. Often it
Dave Love <fx@gnu.org>
parents:
diff changeset
59 requires less thought to kill the whole word and start again.
Dave Love <fx@gnu.org>
parents:
diff changeset
60
Dave Love <fx@gnu.org>
parents:
diff changeset
61 @node Transpose
Dave Love <fx@gnu.org>
parents:
diff changeset
62 @section Transposing Text
Dave Love <fx@gnu.org>
parents:
diff changeset
63
Dave Love <fx@gnu.org>
parents:
diff changeset
64 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
65 @item C-t
Dave Love <fx@gnu.org>
parents:
diff changeset
66 Transpose two characters (@code{transpose-chars}).
Dave Love <fx@gnu.org>
parents:
diff changeset
67 @item M-t
Dave Love <fx@gnu.org>
parents:
diff changeset
68 Transpose two words (@code{transpose-words}).
Dave Love <fx@gnu.org>
parents:
diff changeset
69 @item C-M-t
Dave Love <fx@gnu.org>
parents:
diff changeset
70 Transpose two balanced expressions (@code{transpose-sexps}).
Dave Love <fx@gnu.org>
parents:
diff changeset
71 @item C-x C-t
Dave Love <fx@gnu.org>
parents:
diff changeset
72 Transpose two lines (@code{transpose-lines}).
Dave Love <fx@gnu.org>
parents:
diff changeset
73 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
74
Dave Love <fx@gnu.org>
parents:
diff changeset
75 @kindex C-t
Dave Love <fx@gnu.org>
parents:
diff changeset
76 @findex transpose-chars
Dave Love <fx@gnu.org>
parents:
diff changeset
77 The common error of transposing two characters can be fixed, when they
Dave Love <fx@gnu.org>
parents:
diff changeset
78 are adjacent, with the @kbd{C-t} command (@code{transpose-chars}). Normally,
Dave Love <fx@gnu.org>
parents:
diff changeset
79 @kbd{C-t} transposes the two characters on either side of point. When
Dave Love <fx@gnu.org>
parents:
diff changeset
80 given at the end of a line, rather than transposing the last character of
Dave Love <fx@gnu.org>
parents:
diff changeset
81 the line with the newline, which would be useless, @kbd{C-t} transposes the
Dave Love <fx@gnu.org>
parents:
diff changeset
82 last two characters on the line. So, if you catch your transposition error
Dave Love <fx@gnu.org>
parents:
diff changeset
83 right away, you can fix it with just a @kbd{C-t}. If you don't catch it so
Dave Love <fx@gnu.org>
parents:
diff changeset
84 fast, you must move the cursor back to between the two transposed
Dave Love <fx@gnu.org>
parents:
diff changeset
85 characters. If you transposed a space with the last character of the word
Dave Love <fx@gnu.org>
parents:
diff changeset
86 before it, the word motion commands are a good way of getting there.
Dave Love <fx@gnu.org>
parents:
diff changeset
87 Otherwise, a reverse search (@kbd{C-r}) is often the best way.
Dave Love <fx@gnu.org>
parents:
diff changeset
88 @xref{Search}.
Dave Love <fx@gnu.org>
parents:
diff changeset
89
Dave Love <fx@gnu.org>
parents:
diff changeset
90
Dave Love <fx@gnu.org>
parents:
diff changeset
91 @kindex C-x C-t
Dave Love <fx@gnu.org>
parents:
diff changeset
92 @findex transpose-lines
Dave Love <fx@gnu.org>
parents:
diff changeset
93 @kindex M-t
Dave Love <fx@gnu.org>
parents:
diff changeset
94 @findex transpose-words
36263
11db0318031d Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents: 31059
diff changeset
95 @c Don't index C-M-t and transpose-sexps here, they are indexed in
11db0318031d Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents: 31059
diff changeset
96 @c programs.texi, in the "List Commands" node.
11db0318031d Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents: 31059
diff changeset
97 @c @kindex C-M-t
11db0318031d Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents: 31059
diff changeset
98 @c @findex transpose-sexps
37120
f863383a5c3e Minor change.
Richard M. Stallman <rms@gnu.org>
parents: 36314
diff changeset
99 @kbd{M-t} transposes the word before point with the word after point
f863383a5c3e Minor change.
Richard M. Stallman <rms@gnu.org>
parents: 36314
diff changeset
100 (@code{transpose-words}). It moves point forward over a word,
f863383a5c3e Minor change.
Richard M. Stallman <rms@gnu.org>
parents: 36314
diff changeset
101 dragging the word preceding or containing point forward as well. The
f863383a5c3e Minor change.
Richard M. Stallman <rms@gnu.org>
parents: 36314
diff changeset
102 punctuation characters between the words do not move. For example,
f863383a5c3e Minor change.
Richard M. Stallman <rms@gnu.org>
parents: 36314
diff changeset
103 @w{@samp{FOO, BAR}} transposes into @w{@samp{BAR, FOO}} rather than
f863383a5c3e Minor change.
Richard M. Stallman <rms@gnu.org>
parents: 36314
diff changeset
104 @samp{@w{BAR FOO,}}.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
105
Dave Love <fx@gnu.org>
parents:
diff changeset
106 @kbd{C-M-t} (@code{transpose-sexps}) is a similar command for transposing
Dave Love <fx@gnu.org>
parents:
diff changeset
107 two expressions (@pxref{Lists}), and @kbd{C-x C-t} (@code{transpose-lines})
Dave Love <fx@gnu.org>
parents:
diff changeset
108 exchanges lines. They work like @kbd{M-t} except in determining the
Dave Love <fx@gnu.org>
parents:
diff changeset
109 division of the text into syntactic units.
Dave Love <fx@gnu.org>
parents:
diff changeset
110
Dave Love <fx@gnu.org>
parents:
diff changeset
111 A numeric argument to a transpose command serves as a repeat count: it
Dave Love <fx@gnu.org>
parents:
diff changeset
112 tells the transpose command to move the character (word, sexp, line)
Dave Love <fx@gnu.org>
parents:
diff changeset
113 before or containing point across several other characters (words,
Dave Love <fx@gnu.org>
parents:
diff changeset
114 sexps, lines). For example, @kbd{C-u 3 C-t} moves the character before
Dave Love <fx@gnu.org>
parents:
diff changeset
115 point forward across three other characters. It would change
Dave Love <fx@gnu.org>
parents:
diff changeset
116 @samp{f@point{}oobar} into @samp{oobf@point{}ar}. This is equivalent to
Dave Love <fx@gnu.org>
parents:
diff changeset
117 repeating @kbd{C-t} three times. @kbd{C-u - 4 M-t} moves the word
Dave Love <fx@gnu.org>
parents:
diff changeset
118 before point backward across four words. @kbd{C-u - C-M-t} would cancel
Dave Love <fx@gnu.org>
parents:
diff changeset
119 the effect of plain @kbd{C-M-t}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
120
Dave Love <fx@gnu.org>
parents:
diff changeset
121 A numeric argument of zero is assigned a special meaning (because
Dave Love <fx@gnu.org>
parents:
diff changeset
122 otherwise a command with a repeat count of zero would do nothing): to
Dave Love <fx@gnu.org>
parents:
diff changeset
123 transpose the character (word, sexp, line) ending after point with the
Dave Love <fx@gnu.org>
parents:
diff changeset
124 one ending after the mark.
Dave Love <fx@gnu.org>
parents:
diff changeset
125
Dave Love <fx@gnu.org>
parents:
diff changeset
126 @node Fixing Case
Dave Love <fx@gnu.org>
parents:
diff changeset
127 @section Case Conversion
Dave Love <fx@gnu.org>
parents:
diff changeset
128
Dave Love <fx@gnu.org>
parents:
diff changeset
129 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
130 @item M-- M-l
Dave Love <fx@gnu.org>
parents:
diff changeset
131 Convert last word to lower case. Note @kbd{Meta--} is Meta-minus.
Dave Love <fx@gnu.org>
parents:
diff changeset
132 @item M-- M-u
Dave Love <fx@gnu.org>
parents:
diff changeset
133 Convert last word to all upper case.
Dave Love <fx@gnu.org>
parents:
diff changeset
134 @item M-- M-c
Dave Love <fx@gnu.org>
parents:
diff changeset
135 Convert last word to lower case with capital initial.
Dave Love <fx@gnu.org>
parents:
diff changeset
136 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
137
Dave Love <fx@gnu.org>
parents:
diff changeset
138 @kindex M-@t{-} M-l
Dave Love <fx@gnu.org>
parents:
diff changeset
139 @kindex M-@t{-} M-u
Dave Love <fx@gnu.org>
parents:
diff changeset
140 @kindex M-@t{-} M-c
Dave Love <fx@gnu.org>
parents:
diff changeset
141 A very common error is to type words in the wrong case. Because of this,
Dave Love <fx@gnu.org>
parents:
diff changeset
142 the word case-conversion commands @kbd{M-l}, @kbd{M-u} and @kbd{M-c} have a
Dave Love <fx@gnu.org>
parents:
diff changeset
143 special feature when used with a negative argument: they do not move the
Dave Love <fx@gnu.org>
parents:
diff changeset
144 cursor. As soon as you see you have mistyped the last word, you can simply
Dave Love <fx@gnu.org>
parents:
diff changeset
145 case-convert it and go on typing. @xref{Case}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
146
Dave Love <fx@gnu.org>
parents:
diff changeset
147 @node Spelling
Dave Love <fx@gnu.org>
parents:
diff changeset
148 @section Checking and Correcting Spelling
Dave Love <fx@gnu.org>
parents:
diff changeset
149 @cindex spelling, checking and correcting
Dave Love <fx@gnu.org>
parents:
diff changeset
150 @cindex checking spelling
Dave Love <fx@gnu.org>
parents:
diff changeset
151 @cindex correcting spelling
Dave Love <fx@gnu.org>
parents:
diff changeset
152
Dave Love <fx@gnu.org>
parents:
diff changeset
153 This section describes the commands to check the spelling of a single
Dave Love <fx@gnu.org>
parents:
diff changeset
154 word or of a portion of a buffer. These commands work with the spelling
Dave Love <fx@gnu.org>
parents:
diff changeset
155 checker program Ispell, which is not part of Emacs.
Dave Love <fx@gnu.org>
parents:
diff changeset
156 @ifinfo
Dave Love <fx@gnu.org>
parents:
diff changeset
157 @xref{Top, Ispell, Overview ispell, ispell.info, The Ispell Manual}.
Dave Love <fx@gnu.org>
parents:
diff changeset
158 @end ifinfo
Dave Love <fx@gnu.org>
parents:
diff changeset
159
Dave Love <fx@gnu.org>
parents:
diff changeset
160 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
161 @item M-x flyspell-mode
Dave Love <fx@gnu.org>
parents:
diff changeset
162 Enable Flyspell mode, which highlights all misspelled words.
Dave Love <fx@gnu.org>
parents:
diff changeset
163 @item M-$
Dave Love <fx@gnu.org>
parents:
diff changeset
164 Check and correct spelling of the word at point (@code{ispell-word}).
Dave Love <fx@gnu.org>
parents:
diff changeset
165 @item M-@key{TAB}
Dave Love <fx@gnu.org>
parents:
diff changeset
166 Complete the word before point based on the spelling dictionary
Dave Love <fx@gnu.org>
parents:
diff changeset
167 (@code{ispell-complete-word}).
31059
b65102a3c19d Document the new operation of the `ispell' command.
Eli Zaretskii <eliz@gnu.org>
parents: 25829
diff changeset
168 @item M-x ispell
b65102a3c19d Document the new operation of the `ispell' command.
Eli Zaretskii <eliz@gnu.org>
parents: 25829
diff changeset
169 Spell-check the active region or the current buffer.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
170 @item M-x ispell-buffer
Dave Love <fx@gnu.org>
parents:
diff changeset
171 Check and correct spelling of each word in the buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
172 @item M-x ispell-region
Dave Love <fx@gnu.org>
parents:
diff changeset
173 Check and correct spelling of each word in the region.
Dave Love <fx@gnu.org>
parents:
diff changeset
174 @item M-x ispell-message
Dave Love <fx@gnu.org>
parents:
diff changeset
175 Check and correct spelling of each word in a draft mail message,
Dave Love <fx@gnu.org>
parents:
diff changeset
176 excluding cited material.
Dave Love <fx@gnu.org>
parents:
diff changeset
177 @item M-x ispell-change-dictionary @key{RET} @var{dict} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
178 Restart the Ispell process, using @var{dict} as the dictionary.
Dave Love <fx@gnu.org>
parents:
diff changeset
179 @item M-x ispell-kill-ispell
Dave Love <fx@gnu.org>
parents:
diff changeset
180 Kill the Ispell subprocess.
Dave Love <fx@gnu.org>
parents:
diff changeset
181 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
182
Dave Love <fx@gnu.org>
parents:
diff changeset
183 @cindex Flyspell mode
Dave Love <fx@gnu.org>
parents:
diff changeset
184 @findex flyspell-mode
Dave Love <fx@gnu.org>
parents:
diff changeset
185 Flyspell mode is a fully-automatic way to check spelling as you edit
Dave Love <fx@gnu.org>
parents:
diff changeset
186 in Emacs. It operates by checking words as you change or insert them.
Dave Love <fx@gnu.org>
parents:
diff changeset
187 When it finds a word that it does not recognize, it highlights that
Dave Love <fx@gnu.org>
parents:
diff changeset
188 word. This does not interfere with your editing, but when you see the
Dave Love <fx@gnu.org>
parents:
diff changeset
189 highlighted word, you can move to it and fix it. Type @kbd{M-x
Dave Love <fx@gnu.org>
parents:
diff changeset
190 flyspell-mode} to enable or disable this mode in the current buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
191
Dave Love <fx@gnu.org>
parents:
diff changeset
192 When Flyspell mode highlights a word as misspelled, you can click on
Dave Love <fx@gnu.org>
parents:
diff changeset
193 it with @kbd{Mouse-2} to display a menu of possible corrections and
Dave Love <fx@gnu.org>
parents:
diff changeset
194 actions. You can also correct the word by editing it manually in any
Dave Love <fx@gnu.org>
parents:
diff changeset
195 way you like.
Dave Love <fx@gnu.org>
parents:
diff changeset
196
Dave Love <fx@gnu.org>
parents:
diff changeset
197 The other Emacs spell-checking features check or look up words when
Dave Love <fx@gnu.org>
parents:
diff changeset
198 you give an explicit command to do so. Checking all or part of the
Dave Love <fx@gnu.org>
parents:
diff changeset
199 buffer is useful when you have text that was written outside of this
Dave Love <fx@gnu.org>
parents:
diff changeset
200 Emacs session and might contain any number of misspellings.
Dave Love <fx@gnu.org>
parents:
diff changeset
201
Dave Love <fx@gnu.org>
parents:
diff changeset
202 @kindex M-$
Dave Love <fx@gnu.org>
parents:
diff changeset
203 @findex ispell-word
Dave Love <fx@gnu.org>
parents:
diff changeset
204 To check the spelling of the word around or next to point, and
Dave Love <fx@gnu.org>
parents:
diff changeset
205 optionally correct it as well, use the command @kbd{M-$}
Dave Love <fx@gnu.org>
parents:
diff changeset
206 (@code{ispell-word}). If the word is not correct, the command offers
Dave Love <fx@gnu.org>
parents:
diff changeset
207 you various alternatives for what to do about it.
Dave Love <fx@gnu.org>
parents:
diff changeset
208
Dave Love <fx@gnu.org>
parents:
diff changeset
209 @findex ispell-buffer
Dave Love <fx@gnu.org>
parents:
diff changeset
210 @findex ispell-region
Dave Love <fx@gnu.org>
parents:
diff changeset
211 To check the entire current buffer, use @kbd{M-x ispell-buffer}. Use
Dave Love <fx@gnu.org>
parents:
diff changeset
212 @kbd{M-x ispell-region} to check just the current region. To check
Dave Love <fx@gnu.org>
parents:
diff changeset
213 spelling in an email message you are writing, use @kbd{M-x
Dave Love <fx@gnu.org>
parents:
diff changeset
214 ispell-message}; that checks the whole buffer, but does not check
Dave Love <fx@gnu.org>
parents:
diff changeset
215 material that is indented or appears to be cited from other messages.
Dave Love <fx@gnu.org>
parents:
diff changeset
216
31059
b65102a3c19d Document the new operation of the `ispell' command.
Eli Zaretskii <eliz@gnu.org>
parents: 25829
diff changeset
217 @findex ispell
b65102a3c19d Document the new operation of the `ispell' command.
Eli Zaretskii <eliz@gnu.org>
parents: 25829
diff changeset
218 @cindex spell-checking the active region
b65102a3c19d Document the new operation of the `ispell' command.
Eli Zaretskii <eliz@gnu.org>
parents: 25829
diff changeset
219 The @kbd{M-x ispell} command spell-checks the active region if the
b65102a3c19d Document the new operation of the `ispell' command.
Eli Zaretskii <eliz@gnu.org>
parents: 25829
diff changeset
220 Transient Mark mode is on (@pxref{Transient Mark}), otherwise it
b65102a3c19d Document the new operation of the `ispell' command.
Eli Zaretskii <eliz@gnu.org>
parents: 25829
diff changeset
221 spell-checks the current buffer.
b65102a3c19d Document the new operation of the `ispell' command.
Eli Zaretskii <eliz@gnu.org>
parents: 25829
diff changeset
222
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
223 Each time these commands encounter an incorrect word, they ask you
Dave Love <fx@gnu.org>
parents:
diff changeset
224 what to do. They display a list of alternatives, usually including
Dave Love <fx@gnu.org>
parents:
diff changeset
225 several ``near-misses''---words that are close to the word being
Dave Love <fx@gnu.org>
parents:
diff changeset
226 checked. Then you must type a character. Here are the valid responses:
Dave Love <fx@gnu.org>
parents:
diff changeset
227
Dave Love <fx@gnu.org>
parents:
diff changeset
228 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
229 @item @key{SPC}
Dave Love <fx@gnu.org>
parents:
diff changeset
230 Skip this word---continue to consider it incorrect, but don't change it
Dave Love <fx@gnu.org>
parents:
diff changeset
231 here.
Dave Love <fx@gnu.org>
parents:
diff changeset
232
Dave Love <fx@gnu.org>
parents:
diff changeset
233 @item r @var{new} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
234 Replace the word (just this time) with @var{new}.
Dave Love <fx@gnu.org>
parents:
diff changeset
235
Dave Love <fx@gnu.org>
parents:
diff changeset
236 @item R @var{new} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
237 Replace the word with @var{new}, and do a @code{query-replace} so you
Dave Love <fx@gnu.org>
parents:
diff changeset
238 can replace it elsewhere in the buffer if you wish.
Dave Love <fx@gnu.org>
parents:
diff changeset
239
Dave Love <fx@gnu.org>
parents:
diff changeset
240 @item @var{digit}
Dave Love <fx@gnu.org>
parents:
diff changeset
241 Replace the word (just this time) with one of the displayed
Dave Love <fx@gnu.org>
parents:
diff changeset
242 near-misses. Each near-miss is listed with a digit; type that digit to
Dave Love <fx@gnu.org>
parents:
diff changeset
243 select it.
Dave Love <fx@gnu.org>
parents:
diff changeset
244
Dave Love <fx@gnu.org>
parents:
diff changeset
245 @item a
Dave Love <fx@gnu.org>
parents:
diff changeset
246 Accept the incorrect word---treat it as correct, but only in this
Dave Love <fx@gnu.org>
parents:
diff changeset
247 editing session.
Dave Love <fx@gnu.org>
parents:
diff changeset
248
Dave Love <fx@gnu.org>
parents:
diff changeset
249 @item A
Dave Love <fx@gnu.org>
parents:
diff changeset
250 Accept the incorrect word---treat it as correct, but only in this
Dave Love <fx@gnu.org>
parents:
diff changeset
251 editing session and for this buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
252
Dave Love <fx@gnu.org>
parents:
diff changeset
253 @item i
Dave Love <fx@gnu.org>
parents:
diff changeset
254 Insert this word in your private dictionary file so that Ispell will
Dave Love <fx@gnu.org>
parents:
diff changeset
255 consider it correct it from now on, even in future sessions.
Dave Love <fx@gnu.org>
parents:
diff changeset
256
Dave Love <fx@gnu.org>
parents:
diff changeset
257 @item u
Dave Love <fx@gnu.org>
parents:
diff changeset
258 Insert the lower-case version of this word in your private dictionary
Dave Love <fx@gnu.org>
parents:
diff changeset
259 file.
Dave Love <fx@gnu.org>
parents:
diff changeset
260
Dave Love <fx@gnu.org>
parents:
diff changeset
261 @item m
Dave Love <fx@gnu.org>
parents:
diff changeset
262 Like @kbd{i}, but you can also specify dictionary completion
Dave Love <fx@gnu.org>
parents:
diff changeset
263 information.
Dave Love <fx@gnu.org>
parents:
diff changeset
264
Dave Love <fx@gnu.org>
parents:
diff changeset
265 @item l @var{word} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
266 Look in the dictionary for words that match @var{word}. These words
Dave Love <fx@gnu.org>
parents:
diff changeset
267 become the new list of ``near-misses''; you can select one of them to
Dave Love <fx@gnu.org>
parents:
diff changeset
268 replace with by typing a digit. You can use @samp{*} in @var{word} as a
Dave Love <fx@gnu.org>
parents:
diff changeset
269 wildcard.
Dave Love <fx@gnu.org>
parents:
diff changeset
270
Dave Love <fx@gnu.org>
parents:
diff changeset
271 @item C-g
Dave Love <fx@gnu.org>
parents:
diff changeset
272 Quit interactive spell checking. You can restart it again afterward
Dave Love <fx@gnu.org>
parents:
diff changeset
273 with @kbd{C-u M-$}.
Dave Love <fx@gnu.org>
parents:
diff changeset
274
Dave Love <fx@gnu.org>
parents:
diff changeset
275 @item X
Dave Love <fx@gnu.org>
parents:
diff changeset
276 Same as @kbd{C-g}.
Dave Love <fx@gnu.org>
parents:
diff changeset
277
Dave Love <fx@gnu.org>
parents:
diff changeset
278 @item x
Dave Love <fx@gnu.org>
parents:
diff changeset
279 Quit interactive spell checking and move point back to where it was
Dave Love <fx@gnu.org>
parents:
diff changeset
280 when you started spell checking.
Dave Love <fx@gnu.org>
parents:
diff changeset
281
Dave Love <fx@gnu.org>
parents:
diff changeset
282 @item q
Dave Love <fx@gnu.org>
parents:
diff changeset
283 Quit interactive spell checking and kill the Ispell subprocess.
Dave Love <fx@gnu.org>
parents:
diff changeset
284
Dave Love <fx@gnu.org>
parents:
diff changeset
285 @item C-l
Dave Love <fx@gnu.org>
parents:
diff changeset
286 Refresh the screen.
Dave Love <fx@gnu.org>
parents:
diff changeset
287
Dave Love <fx@gnu.org>
parents:
diff changeset
288 @item C-z
Dave Love <fx@gnu.org>
parents:
diff changeset
289 This key has its normal command meaning (suspend Emacs or iconify this
Dave Love <fx@gnu.org>
parents:
diff changeset
290 frame).
Dave Love <fx@gnu.org>
parents:
diff changeset
291 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
292
Dave Love <fx@gnu.org>
parents:
diff changeset
293 @findex ispell-complete-word
Dave Love <fx@gnu.org>
parents:
diff changeset
294 The command @code{ispell-complete-word}, which is bound to the key
Dave Love <fx@gnu.org>
parents:
diff changeset
295 @kbd{M-@key{TAB}} in Text mode and related modes, shows a list of
Dave Love <fx@gnu.org>
parents:
diff changeset
296 completions based on spelling correction. Insert the beginning of a
Dave Love <fx@gnu.org>
parents:
diff changeset
297 word, and then type @kbd{M-@key{TAB}}; the command displays a completion
Dave Love <fx@gnu.org>
parents:
diff changeset
298 list window. To choose one of the completions listed, click
Dave Love <fx@gnu.org>
parents:
diff changeset
299 @kbd{Mouse-2} on it, or move the cursor there in the completions window
Dave Love <fx@gnu.org>
parents:
diff changeset
300 and type @key{RET}. @xref{Text Mode}.
Dave Love <fx@gnu.org>
parents:
diff changeset
301
Dave Love <fx@gnu.org>
parents:
diff changeset
302 @ignore
Dave Love <fx@gnu.org>
parents:
diff changeset
303 @findex reload-ispell
Dave Love <fx@gnu.org>
parents:
diff changeset
304 The first time you use any of the spell checking commands, it starts
Dave Love <fx@gnu.org>
parents:
diff changeset
305 an Ispell subprocess. The first thing the subprocess does is read your
Dave Love <fx@gnu.org>
parents:
diff changeset
306 private dictionary, which defaults to the file @file{~/ispell.words}.
Dave Love <fx@gnu.org>
parents:
diff changeset
307 Words that you ``insert'' with the @kbd{i} command are added to that
Dave Love <fx@gnu.org>
parents:
diff changeset
308 file, but not right away---only at the end of the interactive
Dave Love <fx@gnu.org>
parents:
diff changeset
309 replacement procedure. Use the @kbd{M-x reload-ispell} command to
Dave Love <fx@gnu.org>
parents:
diff changeset
310 reload your private dictionary if you edit the file outside of Ispell.
Dave Love <fx@gnu.org>
parents:
diff changeset
311 @end ignore
Dave Love <fx@gnu.org>
parents:
diff changeset
312
Dave Love <fx@gnu.org>
parents:
diff changeset
313 @cindex @code{ispell} program
Dave Love <fx@gnu.org>
parents:
diff changeset
314 @findex ispell-kill-ispell
Dave Love <fx@gnu.org>
parents:
diff changeset
315 Once started, the Ispell subprocess continues to run (waiting for
Dave Love <fx@gnu.org>
parents:
diff changeset
316 something to do), so that subsequent spell checking commands complete
Dave Love <fx@gnu.org>
parents:
diff changeset
317 more quickly. If you want to get rid of the Ispell process, use
Dave Love <fx@gnu.org>
parents:
diff changeset
318 @kbd{M-x ispell-kill-ispell}. This is not usually necessary, since the
Dave Love <fx@gnu.org>
parents:
diff changeset
319 process uses no time except when you do spelling correction.
Dave Love <fx@gnu.org>
parents:
diff changeset
320
Dave Love <fx@gnu.org>
parents:
diff changeset
321 @vindex ispell-dictionary
Dave Love <fx@gnu.org>
parents:
diff changeset
322 Ispell uses two dictionaries: the standard dictionary and your private
Dave Love <fx@gnu.org>
parents:
diff changeset
323 dictionary. The variable @code{ispell-dictionary} specifies the file
Dave Love <fx@gnu.org>
parents:
diff changeset
324 name of the standard dictionary to use. A value of @code{nil} says to
Dave Love <fx@gnu.org>
parents:
diff changeset
325 use the default dictionary. The command @kbd{M-x
Dave Love <fx@gnu.org>
parents:
diff changeset
326 ispell-change-dictionary} sets this variable and then restarts the
Dave Love <fx@gnu.org>
parents:
diff changeset
327 Ispell subprocess, so that it will use a different dictionary.
Dave Love <fx@gnu.org>
parents:
diff changeset
328