我用
less -XFR +G
分页git log
, 和的一些变体所有四个选项都很重要。
我不喜欢的是,~
当日志/文件比屏幕短时,它会用空行(用 标记)填充屏幕。
我能找到的较短的重现步骤如下:
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
}