[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Replace some occurrences of string with newstring.
Replace some matches for regexp with newstring.
If you want to change only some of the occurrences of ‘foo’ to
‘bar’, not all of them, then you cannot use an ordinary
replace-string
. Instead, use M-% (query-replace
). This
command finds occurrences of ‘foo’ one by one, displays each occurrence
and asks you whether to replace it. Aside from querying,
query-replace
works just like replace-string
. It preserves
case, like replace-string
, provided case-replace
is
non-nil
, as it normally is (voir la section Replace Commands and Case). A numeric
argument means consider only occurrences that are bounded by word-delimiter
characters.
C-M-% performs regexp search and replace
(query-replace-regexp
). It works like replace-regexp
except
that it queries like query-replace
.
These commands highlight the current match using the face
query-replace
. They highlight other matches using
lazy-highlight
just like incremental search (@pxref{Incremental
Search}).
The characters you can type when you are shown a match for the string or regexp are:
to replace the occurrence with newstring.
to skip to the next occurrence without replacing this one.
to replace this occurrence and display the result. You are then asked for another input character to say what to do next. Since the replacement has already been made, <DEL> and <SPC> are equivalent in this situation; both move to the next occurrence.
You can type C-r at this point (see below) to alter the replaced
text. You can also type C-x u to undo the replacement; this exits the
query-replace
, so if you want to do further replacement you must use
C-x <ESC> <ESC> <RET> to restart (voir la section Repeating Minibuffer Commands).
to exit without doing any more replacements.
to replace this occurrence and then exit without searching for more occurrences.
to replace all remaining occurrences without asking again.
to go back to the position of the previous occurrence (or what used to be an occurrence), in case you changed it by mistake or want to reexamine it.
to enter a recursive editing level, in case the occurrence needs to be edited rather than just replaced with newstring. When you are done, exit the recursive editing level with C-M-c to proceed to the next occurrence. @xref{Recursive Edit}.
to delete the occurrence, and then enter a recursive editing level as in C-r. Use the recursive edit to insert text to replace the deleted occurrence of string. When done, exit the recursive editing level with C-M-c to proceed to the next occurrence.
to edit the replacement string in the minibuffer. When you exit the minibuffer by typing <RET>, the minibuffer contents replace the current occurrence of the pattern. They also become the new replacement string for any further occurrences.
to redisplay the screen. Then you must type another character to specify what to do with this occurrence.
to display a message summarizing these options. Then you must type another character to specify what to do with this occurrence.
Some other characters are aliases for the ones listed above: y, n and q are equivalent to <SPC>, <DEL> and <RET>.
Aside from this, any other character exits the query-replace
, and is
then reread as part of a key sequence. Thus, if you type C-k, it
exits the query-replace
and then kills to end of line.
To restart a query-replace
once it is exited, use C-x <ESC>
<ESC>, which repeats the query-replace
because it used the
minibuffer to read its arguments. Voir la section C-x ESC ESC.
Voir la section Operating on Files, for the Dired Q command which performs query replace on selected files. See also Transforming File Names in Dired, for Dired commands to rename, copy, or link files by replacing regexp matches in file names.
[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Ce document a été généré par Eric Reinbold le 23 Février 2009 en utilisant texi2html 1.78.