2行シェルプロンプトで `less -FX 'がうまく機能するようにする方法

2行シェルプロンプトで `less -FX 'がうまく機能するようにする方法

私のシェルプロンプトは2行の長さです(の高度なバージョンです[%n@%m %~]'$'\n''%#。$LESSをに設定しました。lessを-FX終了すると、画面の末尾に行が残り、プロンプトが2行の長さなので、より少ない出力が外側にスクロールされます。ターミナルウィンドウ。

むしろ出力の最後の行を失った後、最初の行を失いたいと思います。

この問題に対する解決策はありますか?

ベストアンサー1

less出力の一番上の行は、一番下に1行を印刷して1行スクロールするため、一番上でスクロールします。それが\nあなたのヒントの内容です。

この問題を回避し、まだ2行がある場合はどうすればよいですか?

プロンプトの一部を作成できます。以上2行プロンプトを使用する代わりに、通常のコマンドラインを使用します。ある意味、これは通常の行であり、通常のプロンプト領域の外に印刷されます(カーソルを制御するために端末エスケープシーケンスが必要です)。

提案したように、less最後の出力行を上書きすると、このケースが処理されます。
ただし、他のコマンドの出力も上書きされます。それらの多くはこの行よりも多くの出力を持っていません。

したがって、ケースではない場合は、追加の改行文字を印刷するなど、2つのケースを明示的に処理する必要がありますless

確かに可能ですが、毎日利用できるほどスムーズに使用するには、多くの手動調整が必要です。

端末のスクロール領域を少なく変更するなど、他の可能な方法もありますが、これはより混乱します。

おすすめ記事