Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在vim中,如何用空格替换正则表达式模式?_Vim - Fatal编程技术网

在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