Jak uzyskać pager git, aby wyczyścić ekran po wyjściu?

29

Pager mniej nie czyści ekranu, jak powinien, kiedy używam git.

Cały czas używam mniej i zwykle nie pozostawia wyjścia w terminalu po wyjściu, ale kiedy mniej zostanie wykonane przez git, pozostawia wyjście w terminalu. Jestem w 100% pewien, że git zużywa mniej w moim systemie.

Co jest nie tak z git i jak to naprawić? pager = lessw ~ / .gitconfig nie pomaga. $ PAGER jest również ustawiony na mniej.

ggustafsson
źródło
Aby to wyjaśnić, git domyślnie nie czyści ekranu , nie ma nic złego w twoim gicie. Użyj odpowiedzi @ ggustafsson, aby zmienić domyślne zachowanie.
LeartS,

Odpowiedzi:

32

Rozwiązaniem jest ustawienie zmiennej LESS. Domyślnie Git to less FRSX.

export LESS=R

Alternatywnie możesz zmodyfikować zmienną LESS, gdy wywoływany jest pager:

git config --global core.pager 'less -+$LESS -R'

Zobacz sekcję core.pager w man git-config

ggustafsson
źródło
3
Usunięcie tylko opcji X jest wystarczające, opcja służy do zapobiegania przywracaniu terminala zgodnie z instrukcją less (1).
xuchunyang
10

Aby wyczyścić ekran, ale pozostawić inne zachowania bez zmian, możesz to zrobić

git config --global core.pager 'less -+X'

To wyłącza -Xopcję mniej.

Dan
źródło
1
Chciałbyś również wyłączyć flagę „F”, ponieważ mniej zamyka się automatycznie, jeśli bufor jest mały, co prowadzi do przekonania, że ​​nie ma wyjścia. Tak powinno być polecenie git config --global core.pager 'less -+X -+F'.
Steve