在 Vim 中,有什么优雅的方法可以从命令行获取输出?

在 Vim 中,有什么优雅的方法可以从命令行获取输出?

如果我在 Vim 中并且想要从命令行获取一些输出并将其附加到我当前的文件中,我可以运行以下命令:

:! echo "foo" >> %

这会将“foo”附加到我当前的文件中,然后我必须重新加载。

有没有更优雅的方法来做到这一点 - 例如,将输出放入我可以粘贴的缓冲区?

答案1

是的:

:r !echo "foo"

:help :r!

这会将命令的输出插入到当前行之后。如果要将命令输出捕获到可以粘贴的寄存器中,可以执行以下操作:

:let @a = system('echo "foo"')

现在命令的输出(包括尾随的换行符)在寄存器中a。参见

:help let-@
:help system()

相关内容