删除vim中的空白区域,保持缩进

时间:2014-03-13 20:15:30

标签: vim

我希望删除vim中的所有空格,但保持默认缩进。目前,所有输出文件都使用空格而不是制表符,所以:

content
    content inside[Sneeky white space of epicness]
content

应该是:

content
    content inside
content

注意: [Sneeky white space of epicness]代表一个空白区块。

2 个答案:

答案 0 :(得分:5)

使用substitute

%s/ *$//g

$表示行尾。
*表示匹配前一个元素的零个或多个实例(由Jite建议)

请注意,您可以使用标签...要表示任何空格,请使用\s

%s/\s*$//g

修改

根据kojiro的建议,您可以使用+代替*。使用*,vim会在每条线上进行替换。使用+时,替换只在需要完成的情况下完成。

+表示匹配前一个元素的至少一个实例 使用vim,您必须逃离+

有关详细信息,请参阅:help pattern-overview

我的最终答案:

%s/\s\+$//g

答案 1 :(得分:0)

有几个插件可以检测并(按需,甚至自动)删除尾随空格。我的DeleteTrailingWhitespace plugin就是其中之一,并处理通常给出简单:%s命令的更多角落。 (插件页面包含指向其他插件的链接。)