rturrado
rturrado

Reputation: 8074

Multiple search and replace in one line

If I do something like:

:%s/aaa/bbb/ | %s/111/222/

and the first search and replace doesn't find any matches, the second search and replace won't be executed. Is there any way to tell vim to carry on even when a command "failed"?

Upvotes: 77

Views: 37604

Answers (1)

René Nyffenegger
René Nyffenegger

Reputation: 40603

Try

:%s/aaa/bbb/e | %s/111/222/e

and read

:help :s_flags

especially the entry under [e]:

 When the search pattern fails, do not issue an error message and, in
 particular, continue in maps as if no error occurred.  This is most
 useful to prevent the "No match" error from breaking a mapping.  Vim
 does not suppress the following error messages, however:
 Regular expressions can't be delimited by letters
 \ should be followed by /, ? or &
 No previous substitute regular expression
 Trailing characters
 Interrupted

Upvotes: 130

Related Questions