我想提取一些跨越多行的文本的多个出现,并且可以与单个Vim正则表达式匹配(使用元字符\_).不幸的是,尽管匹配的行在Vim中正确突出显示,但是当我在匹配的regexp之后添加任何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();
Run Code Online (Sandbox Code Playgroud)
如果我执行:g/bad_function([^;]\+\_[^;]\+;$/d,则只删除第1行和第7行,尽管突出显示的是第1-4和7-9行.
如何抽取/删除所有匹配(突出显示)的行?