Как заменить в несколько строк?


10

Я хотел бы вставить слово в несколько строк, есть ли такая команда, как

:[2,3,5,7,11]s/^/word\ /g

что вставит wordв начало строки 2, строки 3, строки 5, строки 7 и строки 11?

Здесь несколько строк не являются смежными.

Ответы:


16

Выполнить замену в нескольких последовательных строках довольно просто:

:2,11s/^/word /

но диапазон не может охватывать непоследовательные строки.

Однако, проявив немного творческого подхода, вполне возможно обойти это «ограничение».

В самом деле, вы можете повторить последнюю замену с помощью :&или :&&(первая не сохранит исходные флаги, а вторая сохранит), так что вы можете довольно легко объединить замены:

2s/^/word /|3&|5&|7&|11&

Смотрите :help :&и прокручивайте :&&.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.