Я хотел бы вставить слово в несколько строк, есть ли такая команда, как
:[2,3,5,7,11]s/^/word\ /g
что вставит word
в начало строки 2, строки 3, строки 5, строки 7 и строки 11?
Здесь несколько строк не являются смежными.
Я хотел бы вставить слово в несколько строк, есть ли такая команда, как
:[2,3,5,7,11]s/^/word\ /g
что вставит word
в начало строки 2, строки 3, строки 5, строки 7 и строки 11?
Здесь несколько строк не являются смежными.
Ответы:
Выполнить замену в нескольких последовательных строках довольно просто:
:2,11s/^/word /
но диапазон не может охватывать непоследовательные строки.
Однако, проявив немного творческого подхода, вполне возможно обойти это «ограничение».
В самом деле, вы можете повторить последнюю замену с помощью :&
или :&&
(первая не сохранит исходные флаги, а вторая сохранит), так что вы можете довольно легко объединить замены:
2s/^/word /|3&|5&|7&|11&
Смотрите :help :&
и прокручивайте :&&
.