Отступы в двух пробелах выбор (визуальный режим) в vim?

Скажем, у меня есть этот код:

var users = [
  { name: 'TJ', email: '[email protected]' },
  { name: 'Loki', email: '[email protected]' },
  { name: 'Jane', email: '[email protected]' }
  ];

Я хочу выбрать три строки внутри переменной (в визуальном режиме) и отложить ее два пробела:

var users = [
    { name: 'TJ', email: '[email protected]' },
    { name: 'Loki', email: '[email protected]' },
    { name: 'Jane', email: '[email protected]' }
  ];

Как я могу выполнить это в vim?

Ответ 1

Если ваш sw равен двум, вы можете визуально выбрать три строки (V) и сделать >. Вы также можете выбрать столбец из одного пробела и трех строк (ctrl-v), нажать s и заменить указанное пространство тремя пробелами, а затем нажать esc, и все три линии выиграют от этих улучшений. И я уверен, что есть другие способы. Обычно вы делаете > и устанавливаете свой sw в любой отступ, который вы хотите в коде.

Ответ 2

после выбора линий в визуальном режиме. введите ":", "'<,' > " будет добавлено автоматически, затем введите норму я и два пробела (пробел).

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

Ответ 3

Друг youre здесь :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, это содержимое, которое вы визуально выбрали)

Ответ 4

Для отступов блока между { и } (или между (), []), как он должен быть отступом, я использую =% с курсором на первом { (соответственно. (, [).

Для отступов 3 строки вправо я использую 3>> с курсором в первой строке.