2013-11-04 39 views
6

當我通過vim的輸入shell命令 - 例如,:!rake routes - 我會得到一些輸出,然後:如何在vim的shell命令輸出中滾動?

Press ENTER or type command to continue 

如果我在這一點上按什麼,我總是帶回主VIM UI。我該如何在shell模式下停留一段時間,具體來說,我可以向後滾動以查看命令的所有輸出?

+0

您是否嘗試過使用管道?像例如':!rake routes \ | more'?這可能會起作用。 – Annabelle

+0

[如何向上滾動以查看Vim中系統命令的輸出]的可能重複(http://stackoverflow.com/questions/18130722/how-to-scroll-up-to-view-the-output-of-系統命令在-VIM) – glts

回答

2

終端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。

1

:r! [shell command]會將命令的輸出讀入緩衝區。所以,如果你打開一個新的緩衝區,然後使用該命令,你可以搜索和滾動你喜歡的所有。有關更多信息,請參閱Vimcasts episode 57

相關問題