vi画面リフレッシュの問題

vi画面リフレッシュの問題

私はRedHat EL 6システムに最終的にアクセスするためにいくつかのCitrix / Windows仮想化を介してログインが必要なシステムで作業しなければなりませんでした。

デフォルトでは、screen内で使用しない限り、両方がうまく機能しているようですvivim画面に表示された後に表示される初期コンテンツの外に移動する場合(たとえば、画面が表示できるよりも長いファイルの終わりまたは中央に移動するか、一番下の行または2行まで下にスクロールする)画面下部に描かれた「INSERT」を押すと、すべての内容が1行上に上がります。編集内容が小さい場合(つまり、他の行に動きがなく、多くの変更がある場合)、一般的に問題はありませんが、再描画された内容は正しくありません。結果が発生します)。 2行のインポート - INSERT - 行または他のテキスト)しかし、挿入して前後に移動すると、特にウィンドウの内容を強制的にスクロールするか、完全に描画すると完全に混乱します。カーソルを行末や画面に表示されている内容に従わない場所に移動します。

もっと残念なことは、この奇妙なシステムに2つの方法でアクセスできることです。 1つはターミナルセッション(仮想化IEブラウザ経由)、もう1つはVNCデスクトップ(同じ仮想化経由)です。残念ながら、リフレッシュの問題と文字の停止(任意の文字が数百回繰り返される)のため、コマンドラインからVNCデスクトップを完全に使用できなくなります。しかし、これらの問題にもかかわらず、viは画面内で実行されます。

私は2つのタイプのviセッションの変数をファイルにダンプしましたが、互いに異なりますが、どの変数が犯人であるかを知るのに十分なviについて知りません。

FWIW、どちらも同じVIM 7.2.411バイナリ(/ bin / viはまだ問題があります)と画面4.00.03を同じシステムで使用しています。

ヘルプデスクのチケットを提出したとき、管理者は最新バージョンのVIMをインストールしました。

ベストアンサー1

問題は、画面が端末ウィンドウの最後の行をハードステータス行として使用するように設定されており、screenrcでウィンドウを開くことです。今後ハードステータスバーを設定します。画面構成に同様の内容が含まれていますか?

screen 1
# ...
hardstatus alwayslastline "..."

この場合、screenrc の screen コマンドで開いたウィンドウは、正しい行数で構成されていません。つまり、Hardstatus 行で使用される行は考慮されません。しかし、他のウィンドウは問題ありません(stty sizescreenrcと他のウィンドウによって開かれた最初のウィンドウの出力を比較してください)。


この問題のバグを開いた。ここ。振り返ってみると、hardstatusを構成する前のscreenコマンドがこのような影響を与えた可能性がありますが、ユーザーの観点からはこれは非常に予期しないことでした(多くの構成ファイルには順序付けの概念はありません)。また、奇妙なことに、次のようなことをします:

screen 1
screen 2
screen 3
# ...
hardstatus alwayslastline "..."

ウィンドウ3のみが正しく構成されていません。

おすすめ記事