428
|
1 @comment node-name, next, previous, up
|
|
2 @node Search and Replace, , Select and Move, Top
|
|
3 @chapter Searching and Replacing
|
|
4 @cindex searching
|
|
5 @cindex replace
|
|
6 @vindex case-fold-search
|
|
7
|
|
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
|
1738
|
14 @b{Option} menu. You can also set the variable @code{case-fold-search} to
|
444
|
15 @code{nil} for making searches case-sensitive. For information on setting
|
428
|
16 variables, @xref{Setting Variables}. The two commands for searching for
|
444
|
17 strings in XEmacs are:
|
428
|
18
|
|
19 @table @kbd
|
|
20 @item C-s
|
|
21 @findex isearch-forward
|
|
22 @kindex C-s
|
|
23 This command will prompt you for a string to search :
|
|
24
|
|
25 @example
|
|
26 I-search:
|
|
27 @end example
|
|
28
|
|
29 @noindent
|
|
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
|
444
|
37 unable to find the string, it will give you an error message.
|
428
|
38
|
444
|
39 @item C-r
|
428
|
40 @findex isearch-backward
|
|
41 @kindex C-r
|
|
42 This command will perform an incremental search in the backward
|
|
43 direction. It will prompt you for a string name:
|
|
44
|
|
45 @example
|
|
46 I-search backward:
|
|
47 @end example
|
|
48
|
|
49 @noindent
|
|
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
|
|
53 you an error message.
|
|
54 @end table
|
|
55
|
|
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
|
444
|
59 the search, just type @kbd{C-g}.
|
428
|
60
|
|
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:
|
|
63
|
|
64 @table @kbd
|
|
65 @item C-s RET @dfn{string} RET
|
|
66 This command will search for the specified string in the forward
|
444
|
67 direction and will give an error message if the string is not found.
|
428
|
68
|
|
69 @item C-r RET @dfn{string} RET
|
|
70 This command will search for the specified string in the backward
|
|
71 direction.
|
|
72 @end table
|
|
73
|
|
74 For information on how Emacs searches for words and regular
|
444
|
75 expressions, @xref{Search,,,xemacs,XEmacs User's Manual}.
|
428
|
76
|
|
77 To replace all occurrences of a string in Emacs, you can use the
|
444
|
78 following command:
|
428
|
79 @findex replace-string
|
|
80 @example
|
444
|
81 M-x replace-string
|
428
|
82 @end example
|
|
83
|
|
84 @noindent
|
|
85 After you type @kbd{M-x replace-string}, you will be prompted for a
|
|
86 string name to replace:
|
|
87
|
|
88 @example
|
|
89 Replace string:
|
|
90 @end example
|
|
91
|
|
92 @noindent
|
|
93 After you type in a string name, for example "FOO" and press @key{RET},
|
|
94 you will see another prompt:
|
|
95
|
|
96 @example
|
|
97 Replace string FOO with:
|
|
98 @end example
|
|
99
|
|
100 @noindent
|
|
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}.
|
|
107
|
|
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
|
|
111 check for spellings:
|
|
112
|
|
113 @noindent
|
444
|
114 Evaluate the expression @code{(load "big-menubar")}. To evaluate this
|
428
|
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
|
444
|
118 the @b{Utilities} menu for checking spellings.
|