Vim:匹配行尾的空格,但不包含由单个空格组成的行

时间:2011-10-30 16:04:45

标签: regex vim diff removing-whitespace

我意识到在vim中,我可以使用

突出显示行末尾的尾随空格
match /\s\+$/

现在我想排除那些只包含一个空格的行。我该怎么做呢? (它不需要是单行/正则表达式。)

2 个答案:

答案 0 :(得分:2)

match /\(\S\zs\s\+$\)\|\(^\s\{2,}$\)/

这应该有效 - 将其分解为两个部分

第1部分 - 在行的末尾搜索包含其他内容的空格:\(\S\zs\s\+$\)
不是空格\S
然后开始匹配\zs
\s\+$

末尾有1个或多个空格

或匹配\|

第2部分 - 搜索整个行的多个空格:\(^\s\{2,}$\)
^行的开头开始 搜索至少2个空格\s\{2,}
在行$

的末尾

答案 1 :(得分:1)

这匹配包含多个空格的所有行,而不包含包含一个空格的行。

match /\s\s\+$/