当我通过vim输入shell命令时 - 例如,:!rake routes
- 我会得到一些输出,然后:
Press ENTER or type command to continue
Run Code Online (Sandbox Code Playgroud)
如果我在那一点上按任何东西,我总是被带回主vim UI.我如何在shell模式下停留一段时间,具体来说我可以向后滚动以查看命令的所有输出?
对于终端,vim 滚动由终端模拟器(或终端多路复用器,如 tmux/screen,如果您使用它)提供。即,如果您的终端在使用时滚动,<S-PageUp>
则也必须使用 Vim\xe2\x80\x99s 滚动!
。鼠标滚轮也是如此(即使 vim 配置为自行处理鼠标,它也适用于我)。
如果有终端 vim 并且您需要在按下后查看输出,<CR>
那么您可以使用<C-z>
/ :susp
。这两种功能都会因 vim 或终端(终端多路复用器)的错误配置(即终端配置为不支持备用屏幕(这通常是终端多路复用器而不是终端仿真器的问题:screen
需要altscreen on
in .screenrc
)或 vim 设置告诉 vim 做什么而被破坏。启动/恢复和关闭/挂起时到终端的输出已损坏)。
如果你有 GUI vim,你的选择就非常有限。在这种情况下,最好遵循 @glts 或 @EricAndres 建议提供的链接,因为我不使用 GUI vim。
\n