當我通過vim的輸入shell命令 - 例如,:!rake routes
- 我會得到一些輸出,然後:如何在vim的shell命令輸出中滾動?
Press ENTER or type command to continue
如果我在這一點上按什麼,我總是帶回主VIM UI。我該如何在shell模式下停留一段時間,具體來說,我可以向後滾動以查看命令的所有輸出?
當我通過vim的輸入shell命令 - 例如,:!rake routes
- 我會得到一些輸出,然後:如何在vim的shell命令輸出中滾動?
Press ENTER or type command to continue
如果我在這一點上按什麼,我總是帶回主VIM UI。我該如何在shell模式下停留一段時間,具體來說,我可以向後滾動以查看命令的所有輸出?
終端vim滾動由終端仿真器(或終端多路複用器,如tmux/screen,如果您使用它)提供。即如果您的終端在使用<S-PageUp>
時滾動,則它也必須與Vim的!
一起滾動。鼠標滾輪也是如此(即使vim配置爲獨立處理鼠標,它也適用於我)。
如果有終端vim,並且在按下<CR>
後需要查看輸出,則可以使用<C-z>
/:susp
。這兩種功能都會因vim或終端(終端多路複用器)的配置不正確而被破壞(即終端配置爲不支持備用屏幕(這通常是終端多路複用器的問題,而不是終端仿真器:screen
要求altscreen on
在.screenrc
中)或vim設置vim在啓動/恢復和關機/掛起時輸出到終端的內容被破壞)。
如果您有GUI vim,您的選項非常有限。在這種情況下,最好遵循@glts或@EricAndres建議提供的鏈接,因爲我不使用GUI vim。
:r! [shell command]
會將命令的輸出讀入緩衝區。所以,如果你打開一個新的緩衝區,然後使用該命令,你可以搜索和滾動你喜歡的所有。有關更多信息,請參閱Vimcasts episode 57。
您是否嘗試過使用管道?像例如':!rake routes \ | more'?這可能會起作用。 – Annabelle
[如何向上滾動以查看Vim中系統命令的輸出]的可能重複(http://stackoverflow.com/questions/18130722/how-to-scroll-up-to-view-the-output-of-系統命令在-VIM) – glts