如何删除vim中2 char或更长的所有空格?

ric*_*hie 2 vim

我想删除vim中打开的文件中的每个双空格,这是怎么做的?

例如,在这里删除空格

a  a
Run Code Online (Sandbox Code Playgroud)

但要保持这里的空间

a a
Run Code Online (Sandbox Code Playgroud)

eck*_*kes 6

:%s/\s\{2,}//g

元素是:

  • %s 替换整个文件
  • \s 替代品:空间
  • \{2,} 两次或多次发生
  • // 什么都不替换(即删除)
  • g 在当前行的每次出现时都这样做(不仅在第一行)

如果你看一下替代召唤解剖结构,这些要素会变得更加清晰:

s/PATTERN/REPLACEMENT/FLAGS
Run Code Online (Sandbox Code Playgroud)

所以,PATTERN在我们的情况下\s\{2,},REPLACEMENT是空的,FLAGS只是g.范围以前缀为前缀%,表示整个文件.如果您只想在某些行上执行此操作,可以直观地选择行,然后键入:s....


编辑:
在你的问题中,你写了你想要的

删除文件中的每个双空格

这就是我回答的问题.如果要将两个或多个空格替换为1,则命令将为

:%s/\s\{2,}/ /g
Run Code Online (Sandbox Code Playgroud)