XEmacs 21.2.28 "Hermes".
[chise/xemacs-chise.git.1] / man / xemacs / fixit.texi
1
2 @node Fixit, Files, Search, Top
3 @chapter Commands for Fixing Typos
4 @cindex typos
5 @cindex mistakes, correcting
6
7   This chapter describes commands that are especially useful when you
8 catch a mistake in your text just after you have made it, or when you 
9 change your mind while composing text on line.
10
11 @menu
12 * Kill Errors:: Commands to kill a batch of recently entered text.
13 * Transpose::   Exchanging two characters, words, lines, lists...
14 * Fixing Case:: Correcting case of last word entered.
15 * Spelling::    Apply spelling checker to a word, or a whole file.
16 @end menu
17
18 @node Kill Errors, Transpose, Fixit, Fixit
19 @section Killing Your Mistakes
20
21 @table @kbd
22 @item @key{DEL}
23 Delete last character (@code{delete-backward-char}).
24 @item M-@key{DEL}
25 Kill last word (@code{backward-kill-word}).
26 @item C-x @key{DEL}
27 Kill to beginning of sentence (@code{backward-kill-sentence}).
28 @end table
29
30 @kindex DEL
31 @findex delete-backward-char
32   The @key{DEL} character (@code{delete-backward-char}) is the most
33 important correction command.  When used among graphic (self-inserting)
34 characters, it can be thought of as canceling the last character typed.
35
36 @kindex M-DEL
37 @kindex C-x DEL
38 @findex backward-kill-word
39 @findex backward-kill-sentence
40   When your mistake is longer than a couple of characters, it might be more
41 convenient to use @kbd{M-@key{DEL}} or @kbd{C-x @key{DEL}}.
42 @kbd{M-@key{DEL}} kills back to the start of the last word, and @kbd{C-x
43 @key{DEL}} kills back to the start of the last sentence.  @kbd{C-x
44 @key{DEL}} is particularly useful when you are thinking of what to write as
45 you type it, in case you change your mind about phrasing.
46 @kbd{M-@key{DEL}} and @kbd{C-x @key{DEL}} save the killed text for
47 @kbd{C-y} and @kbd{M-y} to retrieve.  @xref{Yanking}.@refill
48
49   @kbd{M-@key{DEL}} is often useful even when you have typed only a few
50 characters wrong, if you know you are confused in your typing and aren't
51 sure exactly what you typed.  At such a time, you cannot correct with
52 @key{DEL} except by looking at the screen to see what you did.  It requires
53 less thought to kill the whole word and start over.
54
55 @node Transpose, Fixing Case, Kill Errors, Fixit
56 @section Transposing Text
57
58 @table @kbd
59 @item C-t
60 Transpose two characters (@code{transpose-chars}).
61 @item M-t
62 Transpose two words (@code{transpose-words}).
63 @item C-M-t
64 Transpose two balanced expressions (@code{transpose-sexps}).
65 @item C-x C-t
66 Transpose two lines (@code{transpose-lines}).
67 @end table
68
69 @cindex transposition
70 @kindex C-t
71 @findex transpose-chars
72   The common error of transposing two adjacent characters can be fixed
73 with the @kbd{C-t} command (@code{transpose-chars}).  Normally,
74 @kbd{C-t} transposes the two characters on either side of point.  When
75 given at the end of a line, @kbd{C-t} transposes the last two characters
76 on the line, rather than transposing the last character of the line with
77 the newline, which would be useless.  If you catch a
78 transposition error right away, you can fix it with just @kbd{C-t}.
79 If you catch the error later,  move the cursor back to between
80 the two transposed characters.  If you transposed a space with the last
81 character of the word before it, the word motion commands are a good way
82 of getting there.  Otherwise, a reverse search (@kbd{C-r}) is often the
83 best way.  @xref{Search}.
84
85 @kindex C-x C-t
86 @findex transpose-lines
87 @kindex M-t
88 @findex transpose-words
89 @kindex C-M-t
90 @findex transpose-sexps
91   @kbd{Meta-t} (@code{transpose-words}) transposes the word before point
92 with the word after point.  It moves point forward over a word, dragging
93 the word preceding or containing point forward as well.  The punctuation
94 characters between the words do not move.  For example, @w{@samp{FOO, BAR}}
95 transposes into @w{@samp{BAR, FOO}} rather than @samp{@w{BAR FOO,}}.
96
97   @kbd{C-M-t} (@code{transpose-sexps}) is a similar command for transposing
98 two expressions (@pxref{Lists}), and @kbd{C-x C-t} (@code{transpose-lines})
99 exchanges lines.  It works like @kbd{M-t} but in determines the
100 division of the text into syntactic units differently.
101
102   A numeric argument to a transpose command serves as a repeat count: it
103 tells the transpose command to move the character (word, sexp, line) before
104 or containing point across several other characters (words, sexps, lines).
105 For example, @kbd{C-u 3 C-t} moves the character before point forward
106 across three other characters.  This is equivalent to repeating @kbd{C-t}
107 three times.  @kbd{C-u - 4 M-t} moves the word before point backward across
108 four words.  @kbd{C-u - C-M-t} would cancel the effect of plain
109 @kbd{C-M-t}.@refill
110
111   A numeric argument of zero transposes the character (word, sexp, line)
112 ending after point with the one ending after the mark (otherwise a
113 command with a repeat count of zero would do nothing).
114
115 @node Fixing Case, Spelling, Transpose, Fixit
116 @section Case Conversion
117
118 @table @kbd
119 @item M-- M-l
120 Convert last word to lower case.  Note that @kbd{Meta--} is ``Meta-minus.''
121 @item M-- M-u
122 Convert last word to all upper case.
123 @item M-- M-c
124 Convert last word to lower case with capital initial.
125 @end table
126
127 @findex downcase-word
128 @findex upcase-word
129 @findex capitalize-word
130 @kindex M-@t{-} M-l
131 @kindex M-@t{-} M-u
132 @kindex M-@t{-} M-c
133 @cindex case conversion
134 @cindex words
135   A  common error is to type words in the wrong case.  Because of this,
136 the word case-conversion commands @kbd{M-l}, @kbd{M-u}, and @kbd{M-c} do
137 not move the cursor when used with a negative argument.
138 As soon as you see you have mistyped the last word, you can simply
139 case-convert it and continue typing.  @xref{Case}.@refill
140
141 @node Spelling,, Fixing Case, Fixit
142 @section Checking and Correcting Spelling
143 @cindex spelling
144
145 @c doublewidecommands
146 @table @kbd
147 @item M-$
148 Check and correct spelling of word (@code{spell-word}).
149 @item M-x spell-buffer
150 Check and correct spelling of each word in the buffer.
151 @item M-x spell-region
152 Check and correct spelling of each word in the region.
153 @item M-x spell-string
154 Check spelling of specified word.
155 @end table
156
157 @kindex M-$
158 @findex spell-word
159   To check the spelling of the word before point, and optionally correct
160 it, use the command @kbd{M-$} (@code{spell-word}).  This command runs an
161 inferior process containing the @code{spell} program to see whether the
162 word is correct English.  If it is not, it asks you to edit the word (in
163 the minibuffer) into a corrected spelling, and then performs a
164 @code{query-replace} to substitute the corrected spelling for the old
165 one throughout the buffer.
166
167   If you exit the minibuffer without altering the original spelling, it
168 means you do not want to do anything to that word.  In that case, the
169 @code{query-replace} is not done.
170
171 @findex spell-buffer
172   @kbd{M-x spell-buffer} checks each word in the buffer the same way that
173 @code{spell-word} does, doing a @code{query-replace} for
174 every incorrect word if appropriate.@refill
175
176 @findex spell-region
177   @kbd{M-x spell-region} is similar to @code{spell-buffer} but operates
178 only on the region, not the entire buffer.
179
180 @findex spell-string
181   @kbd{M-x spell-string} reads a string as an argument and checks
182 whether that is a correctly spelled English word.  It prints a message
183 giving the answer in the echo area.