AKTUALISIEREN
tl; dr Lösung: Upgrade auf weniger als 530
Von http://www.greenwoodsoftware.com/less/news.530.html :
Geben Sie keine Terminal-Init-Sequenz aus, wenn Sie -F verwenden und die Datei auf einen Bildschirm passt.
Mit diesem Fix müssen wir uns also nicht einmal darum kümmern , ob -X
wir es alleine verwenden sollen, less -F
sondern kümmern uns nur darum.
PS. Einige andere weniger Konfigurationen, die ich benutze:
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'
Am Ende schrieb ich selbst einen Wrapper.
#!/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-Benutzer sollten manuell installieren gnu-sed
. Der erstaunliche reguläre Ausdruck, mit dem Farbcodes entfernt werden können, stammt von /programming//a/18000433/2487227
Ich habe dieses Skript in /usr/local/bin/pager
und dann gespeichertgit config --global core.pager /usr/local/bin/pager
Die Behandlung für Zwangsstörungen, Hurra!
-F
(beenden, wenn ein Bildschirm angezeigt wird), mache ich das immer in Kombination mit-X
(Deaktivieren von Termcap Init und De-Init), aber wie Sie sagen, würde das Scrollen mit der Maus nicht zulassen. (Ich bezweifle, dass Scrollen überhaupt möglich ist-X
.) Ich habe den Fragentitel geändert, kann ihn aber jederzeit zurücksetzen, wenn Sie der Meinung sind, dass er zu viel Bedeutung verliert. :)