在vim中,每次选择缩进两个空格(可视模式)



假设我有这样的代码:

var users = [
  { name: 'TJ', email: 'tj@earnboost.com' },
  { name: 'Loki', email: 'loki@earnboost.com' },
  { name: 'Jane', email: 'jane@earnboost.com' }
  ];

我想选择变量内的三行(在可视模式下)并缩进两个空格:

var users = [
    { name: 'TJ', email: 'tj@earnboost.com' },
    { name: 'Loki', email: 'loki@earnboost.com' },
    { name: 'Jane', email: 'jane@earnboost.com' }
  ];

如何在vim中完成?

如果您的sw是两个,您可以直观地选择三行(V)并执行>。您还可以选择包含一个空格和三行的列(ctrl-v),点击s并将上述空格替换为三个空格,然后点击esc,所有三行都将受益于此改进。我相信还有更多的方法。通常,你会做>,并将sw设置为你想要的缩进。

在可视模式下选择行后。输入":","'<,'>"将自动添加,然后输入范数I和两个空格(空格键)。

:'<,'>norm I<space><space>

你的朋友是:le:ri:

:[range]ri[ght] [width]                                 :ri :right  
     Right-align lines in [range] at [width] columns
     (default 'textwidth' or 80 when 'textwidth' is 0). 
     {not in Vi}
:[range]le[ft] [indent]                                 :le :left     
       Left-align lines in [range].  Sets the indent in the        
       lines to [indent] (default 0).  {not in Vi}

因此,只需直观地选择您的行,然后执行上面的其中一个,如:

:'<,'>ri 2

:'<,'>le 5

(注意:'<,'>部分是由VIM自动创建的,它是您在视觉上选择的内容)

对于缩进{}之间(或(), []之间)的块,它应该缩进的方式,我使用=%与光标在第一个{ (resp。(, [).

对于向右缩进3行,我使用3>>并将光标放在第一行。

最新更新