Як замінити в декількох рядках?


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.