2010-12-22 45 views
7

VIM(運行時)如何將文件的內容顯示到終端,然後(關閉時)能夠顯示回顯的內容?我已經做了幾個應用程序,我希望實現這個功能......就像製作帶有終端圖形的程序一樣,當單個「對象」移動時通常必須更新整個屏幕。VIM如何顯示到終端,然後再取回?

回答

10

這是您的終端存儲舊的緩衝區,而不是Vim。

如果您使用XTerm仿真,Vim會在啓動時切換到「備用」終端屏幕。退出時,Vim切換回正常屏幕。

TERMINFO串在啓動時:

\E7 saves the cursor's position 
\E[?47h switches to the alternate screen 

TERMINFO串在出口:

\E[2J clears the screen (assumed to be the alternate screen) 
\E[?47l switches back to the normal screen 
\E8 restores the cursor's position. 
+0

至少與xterm和屏幕,終端仿真器是否處理altscreens是可配置的。 IIRC默認在XTerm中啓用,默認情況下在屏幕上禁用。 Linux控制檯根本沒有altscreen處理。 – ephemient 2010-12-22 23:17:04