Подтвердить что ты не робот

Как вставить слово/текст в начале каждой строки

Просто хочу вставить слово или текст в начале диапазона строк или всего файла. Как это сделать в vim?

4b9b3361

Ответ 1

Команда:

:%s/^/foo: /

... вставляет foo: в начале каждой строки.

Для диапазона вы можете использовать номера строк:

:10,20s/^/foo: /

... сделает это для строк с 10 по 20.

Мой предпочтительный способ сделать это для ряда строк: переместите курсор в первую строку диапазона, затем введите ma, чтобы установить маркер a в текущую строку. Переместитесь в конец диапазона и введите

:'a,.s/^/foo: /

Ответ 2

Я стал гораздо более привычным использовать визуальные блоки для такого рода вещей:

  • Перейдите к началу первой строки в вашем диапазоне (gg для первой строки, ^, чтобы перейти к началу)
  • <C-V>
  • Переместитесь к последней строке в вашем диапазоне
  • Ifoo<ESC>

Это вставило бы foo в начале каждой строки.

Ответ 3

Вы можете использовать macros.