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