XenixのVi:行をスクロールして現在の行を上書きしないのはなぜですか?

XenixのVi:行をスクロールして現在の行を上書きしないのはなぜですか?

Linux 以前の Unix (AT&T など) で行をスクロールすると、Xenix で現在読んだ行が画面を「覆っている」テキストが表示されます。見ている動画、私が何を言っているのか知っていますか?

それを処理する方法? viの端末の問題ですか、それともオプションの問題ですか?

答え1

これは設定(ターミナルまたはプログラムの両方)に問題があります。

minicomを介した接続は、シリアルポート(またはモデム)接続のように聞こえます。 viは、接続用に事前定義された設定から画面サイズを取得するか、端末の説明から画面サイズを取得します。実際の画面サイズの感覚はありません。いくつかの一般的な回避策があります。

  • リモートシステムの既知の画面サイズを更新するプログラム(またはスクリプト)を使用してください。そうでない場合またそれは古代ですstty、例えば、「stty -a」の出力にサイズが とrowsで表されます。columnsあまり古いシステムではresize適切なプログラムそれ(しかし、MinicomにはVT100の機能のほとんどが欠けていたため、おそらく動作しません。)しかし、それがなければstty(間違っている可能性がある)値を表示することでそれを無視できますstty rows 24
  • LINES設定と環境変数によるCOLUMNSプログラムのオーバーライド
  • リモートコンピュータで端末の説明を変更します。たとえば、「:li#40:co:80:」などの内容を含むtermcapです。通常、termcapを使用するプログラムは、termcapファイルに正しい画面サイズが含まれていると仮定します。

関連情報