我想在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
答案 0 :(得分:7)
AFAIK Vim不支持异步会话,因此这更像是对潜在替代选项请求的回应。
我目前解决此问题的方法是使用tmux,其描述如下:
终端多路复用器:它可以启用多个终端(或窗口), 每个都运行一个单独的程序,要创建,访问和 从一个屏幕控制。
所以,基本上,不是在Vim中拆分屏幕,而是使用tmux拆分它,然后在一个窗口中运行Vim,在另一个窗口中运行你想要的任何其他程序,它将完全独立于Vim更新。就像Vim一样,您可以使用几个击键在窗口(或在tmux lingo中调用窗格)之间切换。
还有另一种可用的终端多路复用器GNU screen,它也很受欢迎。我提到的原因是因为我喜欢有选项,而且还有两个Vim插件允许您将输出直接发送到附加的屏幕或tmux会话。对于GNU屏幕,slime.vim和tmux,tslime.vim。
答案 1 :(得分:0)
使用VIM
和ConqueTerm
,你可以使用 CTRL + W 和 UP / Down < / kbd>以split
模式更改窗口。
首先点击 ESC 退出insert
模式。
它很适合我。