Какой самый простой способ удалить первые 2 пробела для каждой строки с помощью VIM? В основном это повторение «2x» для каждой строки.
Уточнение: здесь предполагается, что первые 2 символа - это пробелы. Итак, вопрос заключается в том, чтобы сделать отступ для нескольких строк вместе.
Ответы:
Еще несколько вариантов. Вы можете решить, какой из них «самый простой».
Удалите первые 2 символа каждой строки:
Удалите первые 2 символа каждой строки, только если они пробелы:
Обратите внимание, что последняя косая черта является необязательной и находится здесь только для того, чтобы вы могли видеть два пробела. Без косой черты это всего 7 символов, включая расширение
:
.Переместите отступ влево для каждой строки:
источник
%
знак просто означает «выполнить эту команду для каждой строки в документе, а не только для текущей». Я думаю. Не могу найти много документации по этому поводу.Ctrl-V
(или,Ctrl-Q
если вы используетеCtrl-V
для вставки);d
чтобы удалить выбранную область.Esc
источник
Вы также можете использовать поиск и замену (в редакторе ex, доступ к которому осуществляется через :символ):
Удалите первые два символа несмотря ни на что:
Удалите первые два символа пробела (должны быть в начале и оба должны быть пробелами ... любая строка, не соответствующая этому критерию, будет пропущена):
источник
Предполагая a
shiftwidth=2
, затем используя shift с диапазоном%
источник
Два пробела или два символа? (
2x
делает последнее.)удаляет два пробела в начале каждой строки; используйте
%
(эквивалент1,$
) as[range]
do to this для всего файла.удаляет первые два символа каждой строки, какими бы они ни были. (Обратите внимание, что он удаляет два символа , не обязательно два столбца ; символ табуляции считается как один символ).
Если на самом деле вы меняете отступ, вы можете использовать
<
команду, чтобы уменьшить его, или>
команду, чтобы увеличить его. Установите,shiftwidth
чтобы контролировать, насколько он сдвигается, напримеристочник
Я бы попробовал один из двух подходов:
Ctrl+V
(часто с отображениемCtrl+Q
).q1
(или любую другую цифру / букву, которую вы хотите обозначить регистр записи), затем воспроизведите этот макрос несколько раз, используя@1
(для использования моего предыдущего примера. Еще лучше, используйте предыдущее число, чтобы указать, сколько раз для выполнения - например,10@1
для запуска этого макроса 10 раз. Однако это зависит от того, что вы записали - не забудьте перемотать курсор назад0
или опустить одну строкуj
, если это необходимо.источник
Я бы также добавил: узнайте, как настроить отступ для vim. Тогда простое
gg=G
поможет.источник