在vim中,如何用空格替换正则表达式模式?
就我的具体情况而言,我有在vim中,如何用空格替换正则表达式模式?,vim,Vim,就我的具体情况而言,我有 (function(){ 我想用 <whitespace char>xxx<whitespace char> 到 我试过了 :s%/(function(){/ xxx /g 但它抛出了一个错误 抛出错误“E486:Pattern not found”,即使我只能找到/(function(){/。也无法尝试向替换文本添加\s (很抱歉,这个问题的格式很奇怪。流程不太顺畅)您必须转义一些字符 :s%/\(function\(\)\{/ xx
(function(){
我想用
<whitespace char>xxx<whitespace char>
到
我试过了
:s%/(function(){/ xxx /g
但它抛出了一个错误
抛出错误“E486:Pattern not found”,即使我只能找到/(function(){/。也无法尝试向替换文本添加\s
(很抱歉,这个问题的格式很奇怪。流程不太顺畅)您必须转义一些字符
:s%/\(function\(\)\{/ xxx /g
将s和%
:s%/(function(){/ xxx /g
应该成为
:%s/(function(){/ xxx /g
我试过了,它对我有效
前者回来了
E486:找不到模式:/(function(){/xxx/g您唯一的问题是它应该是
:%s
而不是:s%
:%
将整个文件指定为以下Ex命令的范围
:s%
表示使用“%”作为正则表达式分隔符(而不是/),因此在查询中找不到“/(函数)在当前行中。我一开始也这么想,但它要简单得多。s和%已经被转置了,所以如果它是特殊的,你必须转义一些字符?你需要%
吗?你需要g
标志吗?%
在所有行上运行,g
。我在vim 7.2.18
上尝试过它,它在这不是一个关于如何使用vim的问题,而是要指出OP犯下的一个简单(但可以理解)的错误。
:s%/(function(){/ xxx /g
:%s/(function(){/ xxx /g