Prev: Replacement and Case Up: Replace
`M-% STRING RET NEWSTRING RET'
`M-x query-replace RET STRING RET NEWSTRING RET'
Replace some occurrences of STRING with NEWSTRING.
`M-x query-replace-regexp RET REGEXP RET NEWSTRING RET'
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. A numeric argument to `query-replace'
tells it to consider only occurrences that are bounded by
word-delimiter characters. This preserves case, just like
`replace-string', provided `case-replace' is non-`nil', as it normally
Aside from querying, `query-replace' works just like
`replace-string', and `query-replace-regexp' works just like
`replace-regexp'. The shortest way to type this command name is `M-x
qu SPC SPC SPC RET'.
The things you can type when you are shown an occurrence of STRING
or a match for 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, except that since the
replacement has already been made, DEL and SPC are equivalent.
You could type `C-r' at this point (see below) to alter the
replaced text. You could 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 RET' to restart (*note
to exit without doing any more replacements.
to replace this occurrence and then exit without searching for more
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.
This works by popping the mark ring. Only one `^' in a row is
allowed, because only one previous replacement position is kept
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. Note: 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 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 ESC.
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', which
repeats the `query-replace' because it used the minibuffer to read its
arguments. Note: C-x ESC.
See also Note: Transforming File Names, for Dired commands to
rename, copy, or link files by replacing regexp matches in file names.
automatically generated by info2www