Во-первых, :echo @0v
это просто опечатка, которая должна быть :echo @0
, верно?
Во-вторых, system () в vimscript возвращает стандартный вывод команды, а не ее возвращаемое значение. Ваш let @0 ...
эквивалентен одному из них в perl:
my $x = `perl /home/hermann/hi.pl`;
my $y = qx:perl /home/hermann/hi.pl:;
Если вы хотите получить возвращаемое значение, а не стандартный вывод команды, посмотрите на переменную v: shell_error .