新しいUbuntuシステムでは、スクリーンセッションを開始し、vimでファイルを編集するか、lessでファイルを表示します。終了した後、画面は再描画されませんが、単に上にスクロールして、vim以下で表示していたすべてのものの下にコマンドラインを表示します。
これを変更して、vimを終了すると、vimを呼び出す前の画面に戻るようにするにはどうすればよいですか?
新しいUbuntuシステムでは、スクリーンセッションを開始し、vimでファイルを編集するか、lessでファイルを表示します。終了した後、画面は再描画されませんが、単に上にスクロールして、vim以下で表示していたすべてのものの下にコマンドラインを表示します。
これを変更して、vimを終了すると、vimを呼び出す前の画面に戻るようにするにはどうすればよいですか?
画面のaltscreen
(代替画面)機能はデフォルトでオフになっています。
これをあなたに追加してください.screenrc
:
altscreen on
参照:http ://www.gnu.org/software/screen/manual/screen.html#Redisplay
これは、画面のタームキャップが不完全であることが原因です。(これは本当に一般的な問題のようです。)Vimは画面を復元するためのシーケンスを知らないので、そのままにしておきます。
この問題を回避するには、vimのtermオプション(またはvimを起動する前のTERM環境変数)をxtermなどの「画面互換」の端末に設定します。例えば:
TERM=xterm vim
または(vimで):
:set term=xterm
t_ti
vimのとt_te
オプションを適切なコードに設定できます。詳細について:help xterm-screens
は、vimを参照してください。