Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Multiple search and replace in one line

Tags:

vim

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"?

like image 751
rturrado Avatar asked Jan 19 '11 15:01

rturrado


1 Answers

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 
like image 181
René Nyffenegger Avatar answered Oct 21 '22 21:10

René Nyffenegger