manpagez: man pages & more
info emacs
Home | html | info | man
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

20.9.1 Unconditional Replacement

M-x replace-string <RET> string <RET> newstring <RET>

Replace every occurrence of string with newstring.

To replace every instance of ‘foo’ after point with ‘bar’, use the command M-x replace-string with the two arguments ‘foo’ and ‘bar’. Replacement happens only in the text after point, so if you want to cover the whole buffer you must go to the beginning first. All occurrences up to the end of the buffer are replaced; to limit replacement to part of the buffer, narrow to that part of the buffer before doing the replacement (see section Narrowing). In Transient Mark mode, when the region is active, replacement is limited to the region (see section Transient Mark Mode).

When replace-string exits, it leaves point at the last occurrence replaced. It sets the mark to the prior position of point (where the replace-string command was issued); use C-u C-<SPC> to move back there.

A numeric argument restricts replacement to matches that are surrounded by word boundaries. The argument's value doesn't matter.

See section Replace Commands and Case, for details about case-sensitivity in replace commands.

What if you want to exchange ‘x’ and ‘y’: replace every ‘x’ with a ‘y’ and vice versa? You can do it this way:

M-x replace-string <RET> x <RET> @TEMP@ <RET>
M-< M-x replace-string <RET> y <RET> x <RET>
M-< M-x replace-string <RET> @TEMP@ <RET> y <RET>

This works provided the string ‘@TEMP@’ does not appear in your text.

© 2000-2024
Individual documents may contain additional copyright information.