1

我想删除从文档开头到一些正则表达式匹配的所有内容,例如_tmm. 我编写了以下自定义命令:

command! FilterTmm exe 'g/^_tmm\\>/,/^$/mo$' | norm /_tmm<CR> | :0,-1 d

这不能按预期工作。但是当我直接使用命令行执行这些命令时,它们就起作用了。

您有任何替代建议来使用自定义命令完成这项工作吗?

4

1 回答 1

1

似乎您想从匹配行上方的行开始删除。

/pattern可以有抵消选项。喜欢/pattern/{offset}:h /详细来说,根据您的需要,您可以这样做(无论您的光标在哪里):

ggd/_tmm/-1<cr>

编辑

我读了你的问题两次,看来你想在一个命令行中完成。

你的脚本有问题,normal不支持|,也就是说,它必须是最后一个命令。

试试这条线,如果它适合你:

exe 'norm gg'|/_tmm/-1|0,.d
于 2013-10-09T22:52:57.103 回答