我想删除vim中打开的文件中的每个双空格,这是怎么做的?
例如在此处删除空间
a a
但保留空间
a a
答案 0 :(得分:6)
:%s/\s\{2,}//g
元素是:
%s
替换整个文件\s
替代品:空间\{2,}
两次或更多次出现//
无所事事(即删除)g
在当前行(不仅是第一行)如果你看anatomy of the substitute call:
,元素会变得更清晰s/PATTERN/REPLACEMENT/FLAGS
因此,我们的PATTERN
为\s\{2,}
,REPLACEMENT
为空,FLAGS
仅为g
。范围以前缀为前缀,%
表示整个文件。如果您只想在某些行上执行此操作,可以直观地选择行,然后键入:s....
修改强>
在你的问题中,你写了你想要的
删除文件中的每个双重空格
这就是我回答的问题。如果要将两个或多个空格替换为1,则命令为
:%s/\s\{2,}/ /g
答案 1 :(得分:0)
这个:%s/ */ /g
(/
和*
之间有两个空格)
答案 2 :(得分:0)
您可以执行以下操作:
:%s/\s\s\+/ /g
答案 3 :(得分:0)
虽然{
的答案效率最高,但我发现更容易记住空间*
解决方案。正确的解决方案将包括三个空格(因为*
匹配0或更多)。
:%s/ */ /g
当然,这也假设您想要用一个空格替换两个或更多空格。