在插入模式下保留vim拆分窗口

时间:2011-08-10 22:36:16

标签: bash vim

我想在vim拆分窗口:split中查看bash命令的输出。为此我安装了“Conque Shell”,它在:ConqueTermSplit bash的分割窗口中显示bash。然后我可以运行我的shell命令并在插入模式下观察输出。但是,要返回到其他窗口,我需要输入< CTRL-W> <多达>在命令模式下,所以我需要退出插入模式。因此,只有当我返回到此窗口并进入插入模式时,命令输出的显示才会冻结并继续。那么如何在不离开插入模式的情况下离开“Conque Shell”。

请注意,在第二个窗口中查看bash输出的其他方法也可以解决我的问题。但是,当我在另一个窗口工作时它应该更新,并允许我发出信号,例如< CTRL-c取代;到申请。


ConqueTerm文档说:

3.1.5继续更新终端缓冲区* ConqueTerm_ReadUnfocused *

如果设置为1,那么Conque缓冲区将在您完成后继续更新 切换到另一个缓冲区。

注意:Conque缓冲区可能会继续更新,但它们不会向下滚动 在可见缓冲区底部之外添加新行。这是一个 我没有找到的Vim脚本语言的限制 解决方法。 >     让g:ConqueTerm_ReadUnfocused = 1

2 个答案:

答案 0 :(得分:7)

AFAIK Vim不支持异步会话,因此这更像是对潜在替代选项请求的回应。

我目前解决此问题的方法是使用tmux,其描述如下:

  

终端多路复用器:它可以启用多个终端(或窗口),   每个都运行一个单独的程序,要创建,访问和   从一个屏幕控制。

所以,基本上,不是在Vim中拆分屏幕,而是使用tmux拆分它,然后在一个窗口中运行Vim,在另一个窗口中运行你想要的任何其他程序,它将完全独立于Vim更新。就像Vim一样,您可以使用几个击键在窗口(或在tmux lingo中调用窗格)之间切换。

还有另一种可用的终端多路复用器GNU screen,它也很受欢迎。我提到的原因是因为我喜欢有选项,而且还有两个Vim插件允许您将输出直接发送到附加的屏幕或tmux会话。对于GNU屏幕,slime.vim和tmux,tslime.vim

答案 1 :(得分:0)

使用VIMConqueTerm,你可以使用 CTRL + W UP / Down < / kbd>以split模式更改窗口。

首先点击 ESC 退出insert模式。

它很适合我。