私の質問は単純ですが、簡単に組み立てたり説明したりするのが難しいと感じています。
異なるアカウントでいくつかのUnixボックスにログインします。 vimでテキストファイルを編集しているときに、user1
とuser2
の2つの異なるものが表示されます
vim filename
と入力すると、vimが開いてファイルを編集します。それを閉じると、ファイルからの完全なテキストがなくなり、以前存在していたTeminalsのコマンド/出力が表示されます。
vim filename
と入力すると、vimが開いてファイルを編集します。閉じると、vim
にいるときにディスプレイに表示されていたファイルの一部がディスプレイに表示され、以前のすべてのターミナルディスプレイがスクロールアップされます。ファイルが1行だけの場合でも、vimを終了すると、最初の行が表示され、残りはすべて~
になります。画面の下部にコマンドプロンプトが表示されます。
$ bash --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
$ vim --version
VIM - Vi IMproved 7.0 (2006 May 7, compiled Jun 12 2009 07:08:36)
両方のユーザーのvimrc
ファイルを比較しましたが、すべての設定を認識しており、この動作に関連する設定/構成は見つかりません。
この動作はシェル構成に関連していますか? user1
シナリオに示すような動作が得られるように、どうやって設定するのですか?
これを簡単に説明することはできません。また、そのような動作を探すためのキーワードがわからないため、グーグルで検索することも困難です。さらに詳しく説明する必要がある場合はお知らせください。
この動作の理由の1つは、各ユーザーの端末の設定です。
例えば:
User1がecho $TERM
で使用している端末を確認し、user2にも同じように設定します。 bashの場合:
TERM = xterm;輸出条件
そのような振る舞いは、screen
を使用しないようにする唯一のことでした。 「screen」ターミナルを使用しており、「xterm」に変更しても効果がありませんでした。
〜/ .screenrcにaltscreen on
オプションを追加することで解決しました。画面のマニュアルから:
altscreen on|off
If set to on, "alternate screen" support is enabled in virtual terminals, just like in xterm. Initial setting is `off'.
これらのオプションをすべて試しましたが、期待した結果が得られませんでした。 !clear
は画面全体をクリアし、以前のbashコマンドを残しません。
シンプルで正しい解決策は、[接続]-> [データ]のPuTTY設定の[ターミナルの詳細]で、ターミナルタイプ文字列をxterm
に設定し、ターミナル速度を38400,38400
に設定することです。
設定を保存すれば準備完了です。