私は使う
less -XFR +G
ページ付けgit log
のいくつかのバリエーションと4つのオプションはすべて重要です。。
私が嫌いなのは、~
ログ/ファイルが画面より短いときに画面が空白行(マーカーを含む)で埋められることです。
再現するために見つけることができるより短いステップは次のとおりです。
echo -e 'one\ntwo\nthree' | less -F +G
ファイルがページに収まったら、コマンドが存在しないかのように動作したいと思います。
答え1
less自体はこれを行う方法がないようです。スクリプトを使用してcatとlessの間で決定できます(改善されたhttps://superuser.com/a/215307):
maybeless() {
if [[ "$1" ]]; then
f="$1"
else
f="$(mktemp)"
cat > "$f"
fi
< <(wc -lc < "$f") read -r lines chars
if (( "$lines" < ${LINES:-20} && "$chars" < ${COLUMNS:-80} * ${LINES:-20} )); then
cat "$f"
else
less -XR +G "$f"
fi
if [[ -z "$1" ]]; then
rm "$f"
fi
}