Как применить регулярное выражение к нескольким строкам? - PullRequest
3 голосов
/ 13 декабря 2011

допустим, я хочу применить следующее к строкам 60–80 в файле, который я редактирую в vim.

 :s/{/      {/

Есть ли способ сделать это?

Спасибо!

Ответы [ 3 ]

8 голосов
/ 13 декабря 2011

Вы можете добавить к вашей команде поиска диапазон строк, например,

:60,80s/{/      {/

Если вы хотите, чтобы изменение вступило в силу со строки 60 и далее, используйте :60,s. Если вы хотите изменить строки с текущих на 80, выполните: :,80s. Вы даже можете сделать :.+3,80s, чтобы применить поиск между текущей строкой + 3 и строкой 80.

2 голосов
/ 13 декабря 2011

Вы можете использовать несколько типов диапазонов, как описано здесь . И здесь являются официальными документами.

0 голосов
/ 14 декабря 2011

Вы также можете отметить первую строку раздела, к которому вы хотите применить регулярное выражение, с помощью команды m (mark).Затем переместите курсор на последнюю строку раздела.Тогда команда регулярного выражения становится:

: 'a ,.s: / foo / bar /

, который говорит, что от строки, отмеченной 'a', до текущей строки, замените foo на bar.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...