1 @comment node-name, next, previous, up
2 @node Search and Replace, , Select and Move, Top
3 @chapter Searching and Replacing
6 @vindex case-fold-search
8 Emacs provides commands for searching for occurrences of a particular
9 string. The search is incremental i.e. it begins even before you
10 complete typing the whole string. All searches in Emacs ignore the case
11 of the text they are searching, i.e. if you are searching for "String",
12 then "string" will also be one of the selections. If you want a case
13 sensitive search select the @b{Case Sensitive Search} from the
14 @b{Option} menu. You can also set the variable @code{case-fold-search} to
15 @code{nil} for making searches case-sensitive. For information on setting
16 variables, @xref{Setting Variables}. The two commands for searching for
17 strings in XEmacs are:
21 @findex isearch-forward
23 This command will prompt you for a string to search :
30 If you type "myname" as the string to be searched, then Emacs will start
31 searching for "m", "my", "myn", etc as you go on typing the whole
32 string in the forward direction. The cursor will be on the matching
33 string which has been found so far. If you find the correct match just
34 hit @key{RET} or type @kbd{C-f} or @kbd{C-b} to set the cursor's
35 position. If you find a matching string "myname" but you were looking
36 for a different occurrence of it, use @kbd{C-s} again. If the search is
37 unable to find the string, it will give you an error message.
40 @findex isearch-backward
42 This command will perform an incremental search in the backward
43 direction. It will prompt you for a string name:
50 After you start typing the string name, it will search for the string in
51 the same fashion as it does for @kbd{C-s} except that it will search in
52 the backward direction. If it cannot find the string name, it will give
56 If you make a mistake while typing the string names when you use the
57 above commands, you can use the @key{DEL} key to erase characters. Each
58 @key{DEL} will erase the last character. At any time if you want to quit
59 the search, just type @kbd{C-g}.
61 To do a non-incremental search i.e. to start the search only after
62 you have typed the whole string you can use the following commands:
65 @item C-s RET @dfn{string} RET
66 This command will search for the specified string in the forward
67 direction and will give an error message if the string is not found.
69 @item C-r RET @dfn{string} RET
70 This command will search for the specified string in the backward
74 For information on how Emacs searches for words and regular
75 expressions, @xref{Search,,,xemacs,XEmacs User's Manual}.
77 To replace all occurrences of a string in Emacs, you can use the
79 @findex replace-string
85 After you type @kbd{M-x replace-string}, you will be prompted for a
86 string name to replace:
93 After you type in a string name, for example "FOO" and press @key{RET},
94 you will see another prompt:
97 Replace string FOO with:
101 Now type the string which you want to replace "FOO" with and press
102 @key{RET}. After all the occurrences are replaced you will see the
103 message "Done" in the echo area. If you want only some occurrences of
104 the string to be replaced, use @kbd{M-x query-replace RET <string> RET
105 <newstring> RET}. For more information, @xref{Query
106 Replace,,,xemacs,XEmacs User's Manual}.
108 XEmacs also provides a utility for checking spellings. Use @kbd{M-x
109 ispell-buffer} to check for spellings in the whole buffer. You can also
110 check the spelling of a word or a region. You can use menus to
114 Evaluate the expression @code{(load "big-menubar")}. To evaluate this
115 expression you need to hit the @key{META} or the @key{ESC} key twice and
116 type in the expression in the echo area before hitting @key{RET}. You
117 will get an extensive menubar. Select the @b{Spell Check} menu item from
118 the @b{Utilities} menu for checking spellings.