Next: Match Data, Previous: POSIX Regexps, Up: Searching and Matching
This function is the guts of
query-replace
and related commands. It searches for occurrences of from-string in the text between positions start and end and replaces some or all of them. If start isnil
, point is used instead, and the buffer's end is used for end.If query-flag is
nil
, it replaces all occurrences; otherwise, it asks the user what to do about each one.If regexp-flag is non-
nil
, then from-string is considered a regular expression; otherwise, it must match literally. If delimited-flag is non-nil
, then only replacements surrounded by word boundaries are considered.The argument replacements specifies what to replace occurrences with. If it is a string, that string is used. It can also be a list of strings, to be used in cyclic order.
If replacements is a cons cell,
(
function.
data)
, this means to call function after each match to get the replacement text. This function is called with two arguments: data, and the number of replacements already made.If repeat-count is non-
nil
, it should be an integer. Then it specifies how many times to use each of the strings in the replacements list before advancing cyclicly to the next one.If from-string contains upper-case letters, then
perform-replace
bindscase-fold-search
tonil
, and it uses thereplacements
without altering the case of them.Normally, the keymap
query-replace-map
defines the possible user responses for queries. The argument map, if non-nil
, is a keymap to use instead ofquery-replace-map
.
This variable holds a special keymap that defines the valid user responses for
query-replace
and related functions, as well asy-or-n-p
andmap-y-or-n-p
. It is unusual in two ways:
- The “key bindings” are not commands, just symbols that are meaningful to the functions that use this map.
- Prefix keys are not supported; each key binding must be for a single-event key sequence. This is because the functions don't use
read-key-sequence
to get the input; instead, they read a single event and look it up “by hand.”
Here are the meaningful “bindings” for query-replace-map
.
Several of them are meaningful only for query-replace
and
friends.
act
skip
exit
act-and-exit
act-and-show
automatic
backup
edit
delete-and-edit
recenter
quit
y-or-n-p
and related functions
use this answer.
help