我希望删除vim中的所有空格,但保持默认缩进。目前,所有输出文件都使用空格而不是制表符,所以:
content
content inside[Sneeky white space of epicness]
content
应该是:
content
content inside
content
注意: [Sneeky white space of epicness]
代表一个空白区块。
答案 0 :(得分:5)
%s/ *$//g
$
表示行尾。
*
表示匹配前一个元素的零个或多个实例(由Jite建议)
请注意,您可以使用标签...要表示任何空格,请使用\s
%s/\s*$//g
修改强>
根据kojiro的建议,您可以使用+
代替*
。使用*
,vim会在每条线上进行替换。使用+
时,替换只在需要完成的情况下完成。
+
表示匹配前一个元素的至少一个实例
使用vim
,您必须逃离+
。
有关详细信息,请参阅:help pattern-overview
。
我的最终答案:
%s/\s\+$//g
答案 1 :(得分:0)
有几个插件可以检测并(按需,甚至自动)删除尾随空格。我的DeleteTrailingWhitespace plugin就是其中之一,并处理通常给出简单:%s
命令的更多角落。 (插件页面包含指向其他插件的链接。)