关于Vim正则表达式删除每行中的尾随空格

时间:2011-07-20 11:16:00

标签: regex vim

:%s/[ ]*$//g

为什么上面的正则表达式会在任意行的末尾处将> = 1个空格压缩为恰好一个但不是0个空格?

1 个答案:

答案 0 :(得分:11)

你的正则表达式有效。运行后,行末尾没有空格。

你可能会看到的是“剩余”增量突出显示,如果你使用了它会消失 :%s/[ ]\+$//g。 - 请注意\+而不是*。增量突出显示仍然是因为* 总是匹配,即使是零空格也是如此。

要删除突出显示,请键入:noh:nohlsearch的缩写)。

仅供参考::%s/[ ]*$//g相当于:%s/ *$//g