我经常做一些正则表达式替换,因此想要映射一个键来轻松完成.但是,如果在文件中找不到要替换的其中一个正则表达式,则我的键映射会因此而停止,E486: Pattern not found并且不会执行进一步的替换.例如,如果我的vimrc中的映射是
map <F12> :%s/spam/foo/<enter>:%s/ham/bar/<enter>:%s/eggs/baz/<enter>
Run Code Online (Sandbox Code Playgroud)
ham在我的文件中没有,eggs不会被替换.是否有一个标志我可以放在替换上以忽略错误?我已阅读:help regex,:help map但没有找到任何可用的东西.
或者,是否还有另一种更容易,更明显的方法可以解决这个问题?
Bir*_*rei 21
将/e标志添加到每个替换命令.它不显示错误消息,并继续,就好像没有出现错误.这将是新的映射:
map <F12> :%s/spam/foo/e<enter>:%s/ham/bar/e<enter>:%s/eggs/baz/e<enter>
Run Code Online (Sandbox Code Playgroud)
您可以在模式的末尾添加"标志":
:%s/spam/foo/e
Run Code Online (Sandbox Code Playgroud)
如果找不到spam并允许您继续,则不会发出错误.
见:help flags.
| 归档时间: |
|
| 查看次数: |
2031 次 |
| 最近记录: |