删除Vim中一行之前的所有任意空格

我写了一个插件来parsing一个XML标签。 标签内的内容是缩进的,当我将parsing后的string复制到文件中时,就像gettting一样:

Example line This is part of the parsed line Thats goes one End of line 

我想要的是删除这些行前面的所有空格,最后的文本应该是

 Example line This is part of the parsed line Thats goes one End of line 

我尝试过使用=但它不能按我想要的方式工作。 我怎么能用最小的击键来做到这一点?

要将一条线格式化到左侧,我使用:left 。 使用这种格式的整个文件:

 :%le 

一个简单的search/replaces/^\s*//应该做的伎俩,但它可能不是最小的版本。

就我个人而言,我会用V来直观地select这些行,然后用99<将文本尽可能向左推。

只需在每行的开头inputd然后inputw ,再inputj

这个怎么样:

 :%s/^ *// 

或者你正在寻找一个vim脚本解决scheme?

要删除指定行号的初始空格和制表符(例如第5行到第10行),

 :5,10s/^\s*// 

LukášLalinskýbuild议的search/replace或wikia页面中的%le方法可能是我做这件事的方式,但作为另一种方法,您也可以这样做:

 :%< 99 

作为将整个文件( % )向左移动99次的快速方法。

删除所有连续的空格:: :%s/ */ /g

从我的angular度来看,这对我有用:

 $screen-xs-min: 480px; $screen-sm-min: 768px; $screen-md-min: 992px; $screen-lg-min: 1200px; 

至:

 $screen-xs-min: 480px; $screen-sm-min: 768px; $screen-md-min: 992px; $screen-lg-min: 1200px; 

还有一种方法是使用正常的命令:h :normal-range

 :%norm d^ 

这将在每行( )的第0列中删除( d )到第一个非白色字符( ^ )。

这只是input接受的答案稍微多一点,但是如果你有一个更复杂的情况,比如附加的非注释等,那么可以轻松地进行扩展:

 :%norm d^I# 

导致:

 #Example line #This is part of the parsed line #Thats goes one #End of line