如何将使用exec的控制台输出定向到vimrc中的新vsplit?

如何将使用exec的控制台输出定向到vimrc中的新vsplit?,vim,Vim,我想我的问题与此相关,但我不确定如何让它为我想做的事情工作 在我的vimrc中,我有一个函数: func! AutoGo() exec "w" exec "!auto-go" endfunc 我想在我的exec“!auto go”命令的输出的vim中打开一个新的拆分窗口。大概是这样的: func! AutoGo() exec "w" output = exec "!auto-go" vsplit output endfunc 我也发现了这个,但我不能让它工

我想我的问题与此相关,但我不确定如何让它为我想做的事情工作

在我的vimrc中,我有一个函数:

func! AutoGo()
   exec "w" 
   exec "!auto-go"
endfunc
我想在我的exec“!auto go”命令的输出的vim中打开一个新的拆分窗口。大概是这样的:

func! AutoGo()
   exec "w" 
   output = exec "!auto-go"
   vsplit output

endfunc
我也发现了这个,但我不能让它工作。
我怎样才能做到这一点

如果要执行外部命令并在脚本中捕获输出,可以使用
system()
函数。得到命令输出后,
要以拆分方式显示输出,可以使用
vnew+{cmd}

如果要执行外部命令并在脚本中捕获输出,可以使用
system()
函数。得到命令输出后,
要以拆分方式显示输出,您可以
vnew+{cmd}

这里不需要
:exec
,仅当您希望在命令中插入变量内容时才需要。这里不需要
:exec
,仅当您希望在命令中插入变量内容时才需要。这接近我想要的,但出于某种原因,它正在打开我的文件,而不是脚本的输出。这就是我尝试的“new+{system(“!auto go”)}”你知道为什么它是我的文件而不是我的脚本输出吗?尝试删除
system()中的code>
@amozoss谢谢您的帮助。我的问题是“E492:不是编辑器命令:系统(“auto go”)。我想我的问题是“system”(!auto go”)。我只是忘记了重新加载我的vimrc。它似乎应该可以工作,因为exec”!“auto go”工作正常。这与我想要的很接近,但出于某种原因,它正在打开我的文件,而不是脚本的输出。这就是我尝试的“new+{system(“!auto go”)}”你知道为什么它是我的文件而不是我的脚本输出吗?请尝试删除
系统()中的
,谢谢你的帮助。我遇到了E492:不是编辑器命令:system(“auto-go”)“我想我的“system”(“!auto-go”)也有同样的问题,我只是忘了重新加载我的vimrc。它似乎应该工作,因为exec“!auto go”工作正常。