Я хочу извлечь несколько вхождений некоторого текста, который занимает несколько строк и может быть сопоставлен с одним регулярным выражением Vim (с использованием метасимвола \_
).К сожалению, хотя соответствующие строки правильно выделены в Vim, когда я добавляю любую команду Vim (например, delete или yank) после соответствующего регулярного выражения, команда работает только в первой строке каждого соответствия.
Пример:
1: bad_function(arg1,
2: arg2, arg3,
3: ...
4: argN);
5: good_function();
6: ...
7: bad_function(arg2_1,
8: ...
9: arg2_N);
10: another_good_function();
Если я выполню :g/bad_function([^;]\+\_[^;]\+;$/d
, удаляются только строки 1 и 7, хотя выделены строки 1-4 и 7-9.
Как восстановить/ удалить все совпадающие (выделенные) строки?