回答:
@edwinkslの回答のおかげで、問題の解決策を見つけることができました。
したがって、デフォルトではgitはLESS
ページャーとして使用し、デフォルトの引数はであると信じていますFRSX
。
git 1.8以降ではless -+<option>
、でオプションを削除できます。私の場合、X
オプションを削除する必要があります。
git config --global --replace-all core.pager 'less -+X'
しかし、@ pcworldが言及しているように、これは単一のページに収まるdiffで問題を引き起こす可能性があります。
git config --global --replace-all core.pager 'less -+FX'
スクロールの問題を修正しました。
/programming//a/2183920/486919から、これを実行して差分強調表示を保持する1つの方法はgit diff
、ページャーなしで使用することです。
git --no-pager diff
--no-pager
短い差分には最適ですが、長い差分には最適ではないことに同意します。
-+F
オプションを追加するless
か、1つの画面に収まる出力が空です。1つの画面に収まる場合でも、両方のオプションを組み合わせると、gitの出力がページャーにパイプされます。ただし、出力が画面サイズを超えた場合にのみlessを呼び出すlessのラッパースクリプトがあります。参照は、#10と#11。このDebianのバグへのコメントと少ない上、この質問を技術的な詳細について。