我尝试了以下内容:
:let @0 = system('perl /home/hermann/hi.pl')
:echo @0
喜欢这样的人:
\#!/usr/bin/perl
exit(34);
但是我没有进入@0
,我什么都没得到。
如何将值从perl脚本返回到vimscript?
答案 0 :(得分:4)
首先,:echo @0v
只是一个应该是:echo @0
的拼写错误,对吗?
其次,vimscript中的system()返回命令的标准输出而不是命令的返回值。您的let @0 ...
相当于perl中的其中一个:
my $x = `perl /home/hermann/hi.pl`;
my $y = qx:perl /home/hermann/hi.pl:;
如果您想要返回值而不是命令的标准输出,请查看v:shell_error变量。