78 |
@key{RET} is necessary only if the next command you want to type is a |
@key{RET} is necessary only if the next command you want to type is a |
79 |
printing character, @key{DEL}, @key{RET}, or another character that is |
printing character, @key{DEL}, @key{RET}, or another character that is |
80 |
special within searches (@kbd{C-q}, @kbd{C-w}, @kbd{C-r}, @kbd{C-s}, |
special within searches (@kbd{C-q}, @kbd{C-w}, @kbd{C-r}, @kbd{C-s}, |
81 |
@kbd{C-y}, @kbd{M-y}, @kbd{M-r}, @kbd{M-s}, and some other |
@kbd{C-y}, @kbd{M-y}, @kbd{M-r}, @kbd{M-c}, @kbd{M-e}, and some other |
82 |
meta-characters). |
meta-characters). |
83 |
|
|
84 |
Sometimes you search for @samp{FOO} and find one, but not the one you |
Sometimes you search for @samp{FOO} and find one, but not the one you |
95 |
To reuse earlier search strings, use the @dfn{search ring}. The |
To reuse earlier search strings, use the @dfn{search ring}. The |
96 |
commands @kbd{M-p} and @kbd{M-n} move through the ring to pick a search |
commands @kbd{M-p} and @kbd{M-n} move through the ring to pick a search |
97 |
string to reuse. These commands leave the selected search ring element |
string to reuse. These commands leave the selected search ring element |
98 |
in the minibuffer, where you can edit it. Type @kbd{C-s} or @kbd{C-r} |
in the minibuffer, where you can edit it. To edit the current search |
99 |
|
string in the minibuffer without replacing it with items from the |
100 |
|
search ring, type @kbd{M-e}. Type @kbd{C-s} or @kbd{C-r} |
101 |
to terminate editing the string and search for it. |
to terminate editing the string and search for it. |
102 |
|
|
103 |
If your string is not found at all, the echo area says @samp{Failing |
If your string is not found at all, the echo area says @samp{Failing |
183 |
backward search finds matches that are entirely before the starting |
backward search finds matches that are entirely before the starting |
184 |
point, just as a forward search finds matches that begin after it. |
point, just as a forward search finds matches that begin after it. |
185 |
|
|
186 |
The characters @kbd{C-y} and @kbd{C-w} can be used in incremental |
The characters @kbd{C-w} and @kbd{C-y} can be used in incremental |
187 |
search to grab text from the buffer into the search string. This |
search to grab text from the buffer into the search string. This |
188 |
makes it convenient to search for another occurrence of text at point. |
makes it convenient to search for another occurrence of text at point. |
189 |
@kbd{C-w} copies the character or word after point as part of the |
@kbd{C-w} copies the character or word after point as part of the |
197 |
convert the text they copy to lower case if the search is currently |
convert the text they copy to lower case if the search is currently |
198 |
not case-sensitive; this is so the search remains case-insensitive. |
not case-sensitive; this is so the search remains case-insensitive. |
199 |
|
|
200 |
|
@kbd{C-M-w} and @kbd{C-M-y} modify the search string by only one |
201 |
|
character at a time: @kbd{C-M-w} deletes the last character from the |
202 |
|
search string and @kbd{C-M-y} copies the character after point to the |
203 |
|
end of the search string. An alternative method to add the character |
204 |
|
after point into the search string is to enter the minibuffer by |
205 |
|
@kbd{M-e} and to type @kbd{C-f} at the end of the search string in the |
206 |
|
minibuffer. |
207 |
|
|
208 |
The character @kbd{M-y} copies text from the kill ring into the search |
The character @kbd{M-y} copies text from the kill ring into the search |
209 |
string. It uses the same text that @kbd{C-y} as a command would yank. |
string. It uses the same text that @kbd{C-y} as a command would yank. |
210 |
@kbd{Mouse-2} in the echo area does the same. |
@kbd{Mouse-2} in the echo area does the same. |
215 |
there. In Transient Mark mode, incremental search sets the mark without |
there. In Transient Mark mode, incremental search sets the mark without |
216 |
activating it, and does so only if the mark is not already active. |
activating it, and does so only if the mark is not already active. |
217 |
|
|
218 |
|
@kbd{M-%} or @kbd{C-M-%} exits the incremental search and starts an |
219 |
|
interactive command @code{query-replace} or @code{query-replace-regexp} |
220 |
|
with the last search string inserted in the minibuffer as initial input |
221 |
|
for the string to replace. |
222 |
|
|
223 |
@cindex lazy search highlighting |
@cindex lazy search highlighting |
224 |
@vindex isearch-lazy-highlight |
@vindex isearch-lazy-highlight |
225 |
When you pause for a little while during incremental search, it |
When you pause for a little while during incremental search, it |
386 |
@kindex C-M-r |
@kindex C-M-r |
387 |
@findex isearch-backward-regexp |
@findex isearch-backward-regexp |
388 |
Incremental search for a regexp is done by typing @kbd{C-M-s} |
Incremental search for a regexp is done by typing @kbd{C-M-s} |
389 |
(@code{isearch-forward-regexp}), or by invoking @kbd{C-s} with a |
(@code{isearch-forward-regexp}), by invoking @kbd{C-s} with a |
390 |
prefix argument (whose value does not matter). This command reads a |
prefix argument (whose value does not matter), or by typing @kbd{M-r} |
391 |
|
within a forward incremental search. This command reads a |
392 |
search string incrementally just like @kbd{C-s}, but it treats the |
search string incrementally just like @kbd{C-s}, but it treats the |
393 |
search string as a regexp rather than looking for an exact match |
search string as a regexp rather than looking for an exact match |
394 |
against the text in the buffer. Each time you add text to the search |
against the text in the buffer. Each time you add text to the search |
395 |
string, you make the regexp longer, and the new regexp is searched |
string, you make the regexp longer, and the new regexp is searched |
396 |
for. To search backward for a regexp, use @kbd{C-M-r} |
for. To search backward for a regexp, use @kbd{C-M-r} |
397 |
(@code{isearch-backward-regexp}), or @kbd{C-r} with a prefix argument. |
(@code{isearch-backward-regexp}), @kbd{C-r} with a prefix argument, |
398 |
|
or @kbd{M-r} within a backward incremental search. |
399 |
|
|
400 |
All of the control characters that do special things within an |
All of the control characters that do special things within an |
401 |
ordinary incremental search have the same function in incremental regexp |
ordinary incremental search have the same function in incremental regexp |
942 |
|
|
943 |
Global search-and-replace operations are not needed often in Emacs, |
Global search-and-replace operations are not needed often in Emacs, |
944 |
but they are available. In addition to the simple @kbd{M-x |
but they are available. In addition to the simple @kbd{M-x |
945 |
replace-string} command which is like that found in most editors, |
replace-string} command which replaces all occurrences, |
946 |
there is a @kbd{M-x query-replace} command which finds each occurrence |
there is a @kbd{M-x query-replace} command which finds each occurrence |
947 |
of the pattern and asks you whether to replace it. |
of the pattern and asks you whether to replace it. |
948 |
|
|