我有时会发现自己在编写部分文件由外部程序生成的文本。例如考虑一个 C 源文件,其中包含
/*
* To regenerate the following data, place the cursor at the beginning
* of the next line after this comment, then run
* ma:r!find /foo -name '*.in' | xargs whatever | some complicated processing
* and merge the result with
* 'a!}sort -u
*/
some
generated
stuff
here
我最终使用鼠标选择第一个命令(ma:...
),粘贴并运行它,等待命令完成,选择'a!}sort -u
并粘贴并运行它。这很不雅,因为当我认为它可以是全自动的时候它只是半自动的。我为和朋友阅读了 vim 在线帮助,:execute
但看起来这不是我想要的。我正在考虑用正确的命令填充 vim 寄存器,然后执行寄存器内容。网上:help registers
至今没有给出任何线索。
理想情况下,新评论会说类似
/*
* To regenerate the following data, place the cursor on the 'j' on the
* next line in this comment, then execute it with <SHORT-MAGIC-VIM-INCANTATION>
* jjma:r!find /foo -name '*.in' | xargs whatever | ...<CR>'a!}sort -u<CR>
*/
如何做到这一点?