繁体   English   中英

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

[英]Vim regex removing spaces before the end of line

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

当我使用以下命令时:

%s/\s+$//

Vim告诉我一个找不到模式的错误。 这有什么不对?

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

Vim向我显示错误,找不到模式

您需要转义量词+

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

您可能还想参考Quantifiers,Greedy和Non-Greedy

你可以像这样使用它:

%s/ \+$//

要么:

%s/\s\+$//

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

使用\\v“非常神奇”模式,您只需要转义字母数字特价:

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

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

另一种方法:

:%s/  *$//g

如果你不想输入'\\'字符;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM