Vim正则表达式在行尾之前删除空格

时间:2013-12-04 07:44:05

标签: regex vim

我有一个文件,在行尾包含空格,应删除它们。

当我使用以下命令时:

%s/\s+$//

Vim向我显示错误,找不到模式。这有什么不对?

注意:实际上,我可以使用%s/\s*$//命令,但我想了解问题的根本原因。

4 个答案:

答案 0 :(得分:5)

  

Vim向我显示未找到模式的错误

您需要转义量词+

:%s/\s\+$//g

您可能还想引用Quantifiers, Greedy and Non-Greedy

答案 1 :(得分:1)

你可以像这样使用它:

%s/ \+$//

OR:

%s/\s\+$//

由于+需要在vim正则表达式中进行转义。

答案 2 :(得分:1)

"very magic"模式与\v一起使用,您只需要转义字母数字特价:

  

%s:\v\s+%(//.*)?$::

(此处:用作分隔符,而不是/。您几乎可以使用任何非字母数字的ASCII字符。)

答案 3 :(得分:0)

另一种方法:

:%s/  *$//g

如果您不想输入' \' chars;)