如何在vim

时间:2017-04-09 10:56:53

标签: vim

我需要从外部pandoc ouput到Windows剪贴板的输出html 使用这个表达式

:let @+ = %!pandoc -f markdown -t html

导致错误 E15:表达式无效:%!pandoc -f markdown -t html

我错过了什么?

1 个答案:

答案 0 :(得分:2)

您希望将shell命令的输出保存在寄存器中,而不是命令本身,在这种情况下也不会将其识别为有效表达式。

尝试

:let @+ = system('pandoc -f markdown -t html')

system()函数将shell命令的输出作为字符串获取,并且应该完全按照您想要的方式执行

要将命令应用于当前缓冲区中的文件,可以使用“expand”函数将文件名附加到命令:

:let @+ = system('pandoc -f markdown -t html ' . expand("%"))