Просто хочу вставить слово или текст в начале диапазона строк или всего файла. Как это сделать в vim?
Как вставить слово/текст в начале каждой строки
Ответ 1
Команда:
:%s/^/foo: /
... вставляет foo:
в начале каждой строки.
Для диапазона вы можете использовать номера строк:
:10,20s/^/foo: /
... сделает это для строк с 10 по 20.
Мой предпочтительный способ сделать это для ряда строк: переместите курсор в первую строку диапазона, затем введите ma
, чтобы установить маркер a
в текущую строку. Переместитесь в конец диапазона и введите
:'a,.s/^/foo: /
Ответ 2
Я стал гораздо более привычным использовать визуальные блоки для такого рода вещей:
- Перейдите к началу первой строки в вашем диапазоне (
gg
для первой строки,^
, чтобы перейти к началу) -
<C-V>
- Переместитесь к последней строке в вашем диапазоне
-
Ifoo<ESC>
Это вставило бы foo
в начале каждой строки.
Ответ 3
Вы можете использовать macros.