私はscreenに非常に慣れていませんが、インターネットで見つけたさまざまな推奨事項に従って〜/ .screenrcファイルを構成しました。問題が1つありますが、非常に簡単に解決できると確信しています。 termcap設定だと思います。
Less、vim、top、またはその他のプログラムをスタンドアロンbash(Mac OSX 10.6)で使用した後、これらのプログラムを終了すると、ターミナルのバッファーがクリアされ、現在のコマンドラインの上の行が、直前に入力したコマンドになります。
しかし、画面では、これらのプログラムのいずれかを終了すると、画面バッファーがクリア/更新されず、そのプログラム内で何を表示していたかが表示されます。
例えばスタンドアロン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/Oを実行するアプリケーションは、タイプscreen
の端末を参照してください。 「実際の」端末は、xterm
からvt100
までの何でもかまいません。 (調べるには、printenv TERM
または同等のものを使用してください。)
vim
やless
などのTUIアプリケーションは、通信している端末が可能なものに合わせて動作を調整します。この答えは、terminfoメカニズムのメカニズムの詳細な説明、またはvim
やless
などのプログラムの使用方法のメカニズムには短すぎます。それの。このようなものに関する本が全部あります。非常に簡単な説明として、「実際の」端末は、screen
端末にはない機能を宣伝しています。
さらに、もちろん、これはSuperUserですでに詳細に回答されています here および here および here 。
altscreen on
in ~/.screenrc
または Control+a:altscreen
+Return