删除选定行之前的空格

luk*_*mac 3 vim

我有这样的文字:

This is a normal line. 
       6 spaces are before me.              //line 1 
      4 spaces are before me.               //line 2 
    3 spaces are before me.                 //line 3 
       6 spaces are before me.              //line 4 
     4 spaces are before me.                //line 5 
Another normal line.
   2 spaces are before me. But that is ok.  //line 7 
Line goes on.
Run Code Online (Sandbox Code Playgroud)

如何使用vim选择并删除第1行到第5行之前的所有空格?

act*_*imp 7

我使用视线模式(Shift+ V)来选择我想要的线条,然后对它们运行替换命令(点击:应该'<,'>在开始时自动包含视觉标记):

:'<,'>s/^\s*

当你工作并且没有弄清楚行号时,这很有用.在这种情况下,如您所知,它是第2到第6行,您可以这样做:

:2,6s/^\s*

快速计算行号的有用选项是set number.

替换命令\s*从每行(^\s*)的开头贪婪地抓取所有空格(),并将其替换为空(等效于/^\s*//).