MEMPERBARUI
tl; dr Solusi: tingkatkan ke kurang 530
Dari http://www.greenwoodsoftware.com/less/news.530.html :
Jangan tampilkan urutan terminal init jika menggunakan -F dan file cocok pada satu layar.
Jadi dengan perbaikan ini kita bahkan tidak perlu repot menentukan apakah akan digunakan -X
sendiri, less -F
cukup urus saja.
PS. Beberapa konfigurasi lain yang kurang saya gunakan:
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'
Saya akhirnya berakhir dengan menulis bungkus sendiri.
#!/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"
Pengguna BSD / OSX harus menginstal secara manual gnu-sed
. Regexp yang luar biasa, yang membantu menghilangkan kode warna, berasal dari /programming//a/18000433/2487227
Saya telah menyimpan skrip ini /usr/local/bin/pager
lalugit config --global core.pager /usr/local/bin/pager
Perawatan untuk pasien OCD, hore!
-F
(keluar jika satu layar) saya selalu melakukannya bersama-X
(menonaktifkan termcap init dan de-init), tetapi seperti yang Anda katakan, itu tidak akan memungkinkan menggulir dengan mouse. (Saya ragu bergulir mungkin dilakukan dengan-X
.) Saya telah memodifikasi judul pertanyaan, tetapi merasa ragu untuk memutar kembali jika Anda merasa kehilangan terlalu banyak artinya. :)