我想在vim拆分窗口中查看bash命令的输出:split.为此我安装了"Conque Shell",它在分割窗口中显示bash :ConqueTermSplit bash.然后我可以运行我的shell命令并在插入模式下观察输出.但是,要返回到另一个窗口,我需要在命令模式下键入<CTRL-W> <Up>,所以我需要退出插入模式.因此,只有当我返回到此窗口并进入插入模式时,命令输出的显示才会冻结并继续.那么如何在不离开插入模式的情况下离开"Conque Shell".
请注意,在第二个窗口中查看bash输出的其他方法也可以解决我的问题.但是,当我在另一个窗口工作时它应该更新,并允许我向应用程序发出例如<CTRL-C>的信号.
ConqueTerm文档说:
3.1.5不断更新终端缓冲区*ConqueTerm_ReadUnfocused*
如果设置为1,那么在切换到另一个缓冲区后,Conque缓冲区将继续更新.
注意:Conque缓冲区可能会继续更新,但是当新行添加到可见缓冲区底部之外时,它们不会向下滚动.这是我没有找到解决方法的Vim脚本语言的限制.>让g:ConqueTerm_ReadUnfocused = 1
AFAIK Vim不支持异步会话,因此这更像是对潜在替代选项请求的响应.
我目前解决这个问题的方法是使用tmux,它被描述为:
终端多路复用器:它允许从单个屏幕创建,访问和控制多个终端(或窗口),每个终端(或窗口)运行单独的程序.
因此,基本上,不是在Vim中拆分屏幕,而是使用tmux拆分它,然后在一个窗口中运行Vim,在另一个窗口中运行您想要的任何其他程序,它将完全独立于Vim更新.就像Vim一样,您可以使用几个击键在窗口(或在tmux lingo中调用窗格)之间切换.
还有另一种称为GNU屏幕的终端多路复用器,它也很受欢迎.我提到的原因是因为我喜欢有选项,而且还有两个Vim插件允许您将输出直接发送到附加的屏幕或tmux会话.对于GNU屏幕,slime.vim和tmux,tslime.vim.