我想要转到第 1508 行,跳转到下一个句子的开头,选择从光标位置到开头的所有内容,将所选内容写入文件并删除所选内容。然而,执行似乎在写操作之前停止:
:execute "1508" . "normal! )hvgg" . "'<,'>w /tmp/chunk.txt" . "normal! gvd"
错误在哪里?
答案1
'<,'>w /tmp/chunk.txt
是命令行模式,err,命令,不是普通模式命令。
答案2
我想我知道问题所在:
:help :normal
说
...该命令后面不能跟另一个命令...
在我将代码更改为:
:execute "1508" . "normal! )hvgg" | execute "'<,'>w /tmp/chunk.txt" | execute "normal! gvd"
它按预期工作。