UPDATE
tl; dr โซลูชัน: อัปเกรดเป็น 530 น้อยกว่า
จากhttp://www.greenwoodsoftware.com/less/news.530.html :
อย่าส่งลำดับ init เทอร์มินัลเอาต์พุตหากใช้ -F และไฟล์พอดีกับหน้าจอเดียว
ดังนั้นด้วยการแก้ไขนี้เราไม่จำเป็นต้องกังวลว่าจะใช้-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
ควรติดตั้งด้วยตนเอง regexp ที่น่าทึ่งซึ่งช่วยลบรหัสสีมาจาก/programming//a/18000433/2487227
ฉันบันทึกสคริปต์นี้ไป/usr/local/bin/pager
แล้วgit config --global core.pager /usr/local/bin/pager
การรักษาผู้ป่วย OCD ไชโย!
-F
(ออกจากถ้าหนึ่งหน้าจอ) ฉันมักจะทำร่วมกับ-X
(ปิดการใช้งาน termcap init และ de-init) แต่อย่างที่คุณบอกว่ามันไม่อนุญาตให้เลื่อนด้วยเมาส์ (ฉันสงสัยว่าการเลื่อนเป็นไปได้ด้วย-X
) ฉันได้แก้ไขชื่อคำถาม แต่อย่าลังเลที่จะย้อนกลับไปหากคุณรู้สึกว่าไม่มีความหมายมากเกินไป :)