如何在 Vim 中用一个空格替换多个空格

shi*_*ada 9 vim

我有以下几行。我想在 vim 中用一个空格替换多个空格。我怎样才能做到这一点?

提前致谢。

Percent                      I4-15
b Percent and Fractions                   16-19
c Percent and Decimals                    20
d EstimatingPercents                     21
Run Code Online (Sandbox Code Playgroud)

Use*_*456 18

你可以用 vim 正则表达式来做到这一点。

:%s# \+# #g

  • 该命令的基本结构是 s#search#replace#。有时您将其视为 s///。s 之前的 % 告诉正则表达式处理 vim 缓冲区中的所有行,而不仅仅是当前行。\+ 后面的空格匹配一个或多个空格。尾随 g 告诉正则表达式在一行中匹配多次。 (4认同)
  • 或者使用 "`\s`" 而不是 " " 来匹配任何类型的空格。 (2认同)
  • 对于单行: `:s/\s\+/ /g` (2认同)