Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想删除从文档开头到一些正则表达式匹配的所有内容,例如_tmm. 我编写了以下自定义命令:
_tmm
command! FilterTmm exe 'g/^_tmm\\>/,/^$/mo$' | norm /_tmm<CR> | :0,-1 d
这不能按预期工作。但是当我直接使用命令行执行这些命令时,它们就起作用了。
您有任何替代建议来使用自定义命令完成这项工作吗?
似乎您想从匹配行上方的行开始删除。
/pattern可以有抵消选项。喜欢/pattern/{offset},:h /详细来说,根据您的需要,您可以这样做(无论您的光标在哪里):
/pattern
/pattern/{offset}
:h /
ggd/_tmm/-1<cr>
编辑
我读了你的问题两次,看来你想在一个命令行中完成。
你的脚本有问题,normal不支持|,也就是说,它必须是最后一个命令。
normal
|
试试这条线,如果它适合你:
exe 'norm gg'|/_tmm/-1|0,.d