Mniej danych wyjściowych nie wyświetla wyniku w terminalu po jego wyjściu

10

Poprzednio, gdy uruchomiłem something | less, a następnie nacisnąłem q, zwykło to przywracać mnie do monitu z wyjściem lesswciąż widocznym.

$ seq 1 100 | less
1
2
3
4
:q
$ <prompt here. I can still see the output of less>

Ale teraz, po zainstalowaniu Zsh (z oh-my-zsh. To też nie działa w bash), terminal wygląda następująco:

$ seq 1 100 | less
<less shows up, I press :q and it is cleared>
$ <prompt here. Output of less disappears.>

Szukałem lesspliku konfiguracyjnego i nie znalazłem żadnego. Czy jest jakiś sposób, lessaby zachować się w poprzedni sposób? Widoczne wyjście jest bardzo przydatne.

Abdulsattar Mohammed
źródło

Odpowiedzi:

8
seq 1 100 | less -X

patrz: człowiek mniej

-X or --no-init
Disables  sending  the  termcap  initialization and deinitialization strings to the terminal. 
This is sometimes desirable if the deinitialization string does something  unnecessary, like clearing the screen.
jhscheer
źródło
Dzięki, to było to! Dodałem ją ~/.lesskeyi działa ze wszystkimi gititd.
Abdulsattar Mohammed
8

Jak wspomniał jhscheer, wszystko znajduje się na stronie podręcznika dla less

Dodaj to do swojego profilu zsh, .zshrcaby dobrze grało z git :)

LESS="-XRF"; export LESS

-- EDYTOWAĆ

W twoim przypadku prawdopodobnie lepiej jest uruchomić następującą komendę, aby uniknąć zmiany globalnego zachowania less:

git config --global core.pager 'less -XRF'

ben.bourdin
źródło