Vimが終了後に端末をクリアしないようにします


15

私が行った場合:

$ less file

を押しqて終了しlesslessまだ実行中のときに画面に表示されていたのと同じテキストが表示されます。

しかし、もし私が

$ vim file

そして:q、私の端末は空白です...

終了後の端末のスクリーンショットlessvim

ここに画像の説明を入力してください ここに画像の説明を入力してください

どういうわけかこれを防ぐことができますか?これは私のLinuxシステムでのみです。私のFreeBSDシステムが実際に期待通りに動作します(、すべての周りに同じソフトウェア/設定を使用してTERMいるxterm-colorの両方のために、vim -u NONE違いはありません)。

私が持ちたいものの例:

ここに画像の説明を入力してください

回答:


18

デフォルトでは、VIMは終了時に、オプションt_teを使用して構成された文字列をホスティング端末に送信し、画面をクリアするよう指示します。:set t_te=端末に何も送信せず、画面をクリアしないようにするためだけに回避します。:help term端末機能の詳細については、フォームをご覧ください。


2

xtermを使用しているので、このセクションのように、私の.vimrcのように、画面のスワップにメインおよび代替画面バッファーを使用できます。

if &term == "linux"
    set t_ti=^[[?1049h
    set t_te=^[[?1049l
endif                                                       

注:リテラルテキストで^[なく、エスケープ文字です。Ctrl+を使用vEscて挿入します。

これらのvimコマンドは、Linux terminfoエントリにない可能性のある関連コマンドを追加します。詳細は

:help xterm-screens

うーん、まだ何もしないようですか?私はを使用するかのように動作set t_te=しますが、もっと多くのことを行うことになっていると思いますか?
マーティントゥルノイ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.