Bash
GNU 螢幕清除 vim、less 等。出口
我對 screen 很陌生,但根據我在網際網路上找到的各種建議配置了我的 ~/.screenrc 文件。我有一個問題,但我確信可以很容易地解決它;我認為這是一個 termcap 設置..?
在獨立 bash(在 Mac OSX 10.6 上)中使用 less、vim、top 或其他程序後,退出這些程序後,終端的緩衝區將清除,目前命令行上方的行將是我輸入的上一個命令。
但是,對於螢幕,當我退出這些程序中的任何一個時,螢幕緩衝區不會清除/刷新,我仍然會看到我在該程序中看到的內容.. 有意義嗎?
例如在獨立 bash(無螢幕)中:-
hostname:~ auser$ vim afile [do stuff in file, then :q to exit]
退出後我會看到:-
hostname:~ auser$ vim afile hostname:~ auser$
但在螢幕上:-
bash-3.2$ vim afile [do stuff in file, then :q to exit]
退出後,我會看到一個完整的螢幕:-
~ # [Empty lines in vim are represented by these tilda characters. ] ... ~ # [ Every line on the screen is one of these tildas ] bash-3.2$ # [ This is the bottom line in the terminal ]
我希望這有某種意義。非常感謝任何和所有幫助!TIA
答案在於您正在使用的“真實”終端和通過
screen
.screen
應用程序通過查看終端類型執行其終端 I/Oscreen
。您的“真實”終端可以是從xterm
到 的任何東西vt100
。(使用printenv TERM
或等效查找。)TUI 應用程序喜歡
vim
並less
根據他們發現自己與之交談的終端的能力來調整他們的行為。對於terminfo機制的機制的詳細闡述,甚至對於程序如何喜歡vim
和less
使用它的機制來說,這個答案都太短了。關於這些東西有整本書。一個非常簡短的簡介是,您的“真實”終端正在宣傳screen
終端沒有的功能。