less
プログラムが終了時に画面をクリアしないようにするにはどうすればよいですか?
git log
コマンドのように動作させたい:
less
を終了しません(git log -1
を試してください)何か案は?マニュアルで適切なless
オプションも環境変数も見つかりませんでしたが、環境変数によって設定されているのではないかと思います。
less
が終了時に画面をクリアしないようにするには、-X
を使用します。
マンページから:
-Xまたは--no-init
端末へのtermcap初期化および非初期化文字列の送信を無効にします。これは、画面のクリアなど、非初期化文字列が不必要なことを行う場合に望ましいことがあります。
コンテンツが1つの画面に収まる場合の終了を少なくするために、それはオプション-F
です。
-Fまたは--quit-if-one-screen
ファイル全体を最初の画面に表示できる場合、lessは自動的に終了します。
ただし、-F
はデフォルトではないため、どこかで事前設定されている可能性があります。 env var LESS
を確認してください。
コマンドラインオプションのいずれかを常にデフォルトにする場合は、.profileまたは.bashrcにLESS環境変数を追加できます。例えば:
export LESS="-XF"
そのログインセッションからlessが実行されるときは常に-X -Fを常に適用します。
コマンドにはエイリアスが設定されている場合があります(特定のディストリビューションのデフォルトでも)。これを確認するには、次のように入力します
alias
引数を付けずに、不要なオプションでエイリアスが付けられているかどうかを確認します。実際のコマンドをエイリアスではなく$ PATHで実行するには、その前にバックスラッシュを付けます。
\less
LESS環境変数が環境に設定され、動作に影響を与えるかどうかを確認するには:
echo $LESS
または、グローバルgit構成で設定するだけです。
git config --global core.pager 'less -FX'
このように、他のツールは影響を受けません(私が好きです)。