画面をクリアせずに「less」を終了する方法はありますか?

画面をクリアせずに「less」を終了する方法はありますか?

私はやめたいのですが、less画面で見たものを振り返って残す場合が比較的よくありました。これを行う方法はありますか?解決策?

(現在の解決策は終了してから使用することです。したがって、それよりも良い解決策は大歓迎です。理想的には、シェル設定や一部のスクリプトを介してmore一度入ると使用できます。)less

私のデスクトップはOSXですが、RHELとUbuntuサーバーを使用しています。

ベストアンサー1

これは実際に使用している端末エミュレータ(xterm、gnome-terminal、konsole、screen)の機能です。プログラムを呼び出すlessか待機すると、代替画面または代替画面が実行されますvim。この代替画面には履歴バッファがなく、プログラムを終了するとすぐに終了し、元の画面に戻り、前のウィンドウの内容の履歴と場所が復元されます。

less「-X」引数を渡すと、代替画面で実行されないようにすることができます。

less -X /path/to/some/file

「-X」を環境変数として渡すこともできます。したがって、を使用している場合は、bash次のように入力してください~/.bashrc

export LESS="-X"

ただし、これによりtermcap(ターミナル機能)の初期化と初期化解除が無効になり、lessそれを使用すると他のビューが閉じられているように見える場合があります。

screen別のオプションは、でaltscreen offこれを行うことです~/.screenrclessこれにより、画面が消去されずにカラーフォーマットが維持されます。おそらくtmux同じ選択肢があります。

これブログエントリ問題を説明し、さまざまな成功事例でいくつかのソリューションを提供しますgnome-terminal

おすすめ記事