如果我在 Vim 中并且想要从命令行获取一些输出并将其附加到我当前的文件中,我可以运行以下命令:
:! echo "foo" >> %
这会将“foo”附加到我当前的文件中,然后我必须重新加载。
有没有更优雅的方法来做到这一点 - 例如,将输出放入我可以粘贴的缓冲区?
答案1
是的:
:r !echo "foo"
看
:help :r!
这会将命令的输出插入到当前行之后。如果要将命令输出捕获到可以粘贴的寄存器中,可以执行以下操作:
:let @a = system('echo "foo"')
现在命令的输出(包括尾随的换行符)在寄存器中a
。参见
:help let-@
:help system()