更新
tl; drソリューション:530未満にアップグレード
http://www.greenwoodsoftware.com/less/news.530.htmlから:
-Fを使用してファイルが1つの画面に収まる場合は、端末の初期シーケンスを出力しません。
そのため、この修正-X
により、自分で使用するかどうかを判断する必要がなく、処理するless -F
だけで済みます。
PS。私が使用する他のいくつかの少ない設定:
export PAGER='less -F -S -R -M -i'
export MANPAGER='less -R -M -i +Gg'
git config --global core.pager 'less -F -S -R -i'
#alias less='less -F -S -R -M -i'
最終的に私は自分でラッパーを作成することになりました。
#!/usr/local/bin/bash
# BSD/OSX compatibility
[[ $(type -p gsed) ]] && SED=$(type -p gsed) || SED=$(type -p sed)
CONTEXT=$(expand <&0)
[[ ${#CONTEXT} -eq 0 ]] && exit 0
CONTEXT_NONCOLOR=$( $SED -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g" <<< "$CONTEXT")
LINE_COUNT=$( (fold -w $(tput cols) | wc -l) <<< "$CONTEXT_NONCOLOR" )
[[ $LINE_COUNT -ge $(tput lines) ]] && less -+X -+S -R <<< "$CONTEXT" || echo "$CONTEXT"
BSD / OSXユーザーは、手動でインストールする必要がありgnu-sed
ます。カラーコードを削除するのに役立つ驚くべき正規表現は/programming//a/18000433/2487227からです
このスクリプトを/usr/local/bin/pager
次に保存しましたgit config --global core.pager /usr/local/bin/pager
OCD患者の治療法です。
-F
(1つの画面の場合は終了する)を使用するときは、-X
(termcap initとde-initを無効にする)と常に組み合わせて使用しますが、あなたが言うように、マウスでスクロールすることはできません。(でスクロールがまったくできないと-X
思います。)質問のタイトルを変更しましたが、あまり意味がなくなったと感じたら、遠慮なくロールバックしてください。:)