如何用VI中的字母替换空格?

时间:2015-09-23 23:13:59

标签: replace vi s

我必须用“XX”替换2个或更多空格,我该如何实现?

我不知道空格的通配符。

2 个答案:

答案 0 :(得分:3)

与两个或多个空格匹配的正则表达式为' *',因此在vi中,键入

:%s/   */XX/g

解释,那是

: to enter ex command mode
% apply this change to all lines
s replace everything between the first and second slashes with everything between the second and third
<sp><sp><sp>* two spaces, followed by zero or more spaces
g apply the change to every instance on the line

(我最初只在正则表达式中有两个空格,它会用XX替换文件中的每个连续空格,包括单个空格)

答案 1 :(得分:0)

编辑正如rojomoke在评论中所指出的,此解决方案仅适用于Vim,而不适用于旧的Vi编辑器。

您可以使用:

:%s/\s\{2,}/XX/g
  • \s匹配空白
  • \{2,}匹配两个或更多

通过这种方式,您将用XX替换两个或更多个空格的任何连续。