在我的具体案例中,我有
(function(){
我希望用
替换它<whitespace char>xxx<whitespace char>
所以它会从
开始$('#myId').click(function(){do_something()})
到
$('#myId').click xxx do_something()})
我试过
:s%/(function(){/ xxx /g
但它会引发错误 抛出错误'E486:Pattern not found',即使我只能找到/(function(){/。也没有尝试将\ s添加到替换文本工作中。
(对于这个问题的奇怪格式感到抱歉。并没有真正顺利进行)
答案 0 :(得分:5)
转置了s和%
:s%/(function(){/ xxx /g
应该成为
:%s/(function(){/ xxx /g
我尝试了它,它适用于我。
前者回归 E486:未找到模式:/(function(){/ xxx / g
答案 1 :(得分:3)
您唯一的问题是:%s
不是:s%
。
:%
将整个文件指定为以下Ex命令的范围。
:s%
表示使用'%'作为正则表达式分隔符(而不是/)。因此,在您的查询中,您没有在当前行中找到“/(函数”。
答案 2 :(得分:1)
你必须逃避一些角色
:s%/\(function\(\)\{/ xxx /g