【发布时间】:2012-02-11 09:27:24
【问题描述】:
我经常做一些正则表达式替换,因此我想映射一个键来轻松地做到这一点。但是,如果在文件中找不到要替换的正则表达式之一,我的键映射将因E486: Pattern not found 而停止,并且不会进行进一步的替换。例如。如果我的 vimrc 中的映射是
map <F12> :%s/spam/foo/<enter>:%s/ham/bar/<enter>:%s/eggs/baz/<enter>
我的文件中没有ham,eggs 不会被替换。是否有一个标志我可以放在替换上以忽略错误?我读过:help regex 和:help map 却没有找到任何有用的东西。
或者,有没有我想念的另一种更简单、更明显的方法来做到这一点?
【问题讨论】:
-
(如果您不附加
g或eBirei 建议的标志,则可以保存最后一个/::%s/spam/foo<CR>如果您只想使用第二个分隔符,也一样删除某些内容(每行仅第一次出现)::%s/spam<cr>) -
我知道。我只是不喜欢有未闭合的斜线;)
-
斜线不会成对出现:-)