从上次运行shell命令返回shell输出

从上次运行shell命令返回shell输出,shell,vim,Shell,Vim,我运行测试文件的方式如下: :!bundle exec rspec my_file_spec.rb 当我运行该命令时,它会在另一个窗口中显示我的测试结果,我得到“按ENTER键或键入command以继续”返回到vim。这一切都起作用了 但我想做的是,一旦我离开它,就回到以前的输出。有可能吗 我在缓冲区列表中没有看到它,我真的不需要将输出保存在单独的窗口/拆分中。来自的输出:命令直接打印到终端(或GVIM的内置仿真器);它没有被保存。为此,您可以使用tee重定向到外部文件: :!bundle e

我运行测试文件的方式如下:

:!bundle exec rspec my_file_spec.rb
当我运行该命令时,它会在另一个窗口中显示我的测试结果,我得到“按ENTER键或键入command以继续”返回到vim。这一切都起作用了

但我想做的是,一旦我离开它,就回到以前的输出。有可能吗


我在缓冲区列表中没有看到它,我真的不需要将输出保存在单独的窗口/拆分中。

来自
的输出:命令直接打印到终端(或GVIM的内置仿真器);它没有被保存。为此,您可以使用
tee
重定向到外部文件:

:!bundle exec rspec my_file_spec.rb | tee a.out
:split a.out
或者,直接打开一个暂存缓冲区,然后在命令的输出中读取:

:new +setl\ buftype=nofile | 0read !bundle exec rspec my_file_spec.rb
这样做的缺点是,只有在外部命令结束后才能看到输出