Less output does not show output in terminal after quitting it
Previously, if I ran something | less
, and then press q
, it used to return me to the prompt with the output of less
still visible.
$ seq 1 100 | less
1
2
3
4
:q
$ <prompt here. I can still see the output of less>
But now, after I installed Zsh (with oh-my-zsh. It doesn't work in bash too), the terminal looks like this:
$ seq 1 100 | less
<less shows up, I press :q and it is cleared>
$ <prompt here. Output of less disappears.>
I searched for a less
config file and found none. Is there any way I can get less
to behave the previous way? Having the output visible is very handy.
Solution 1:
seq 1 100 | less -X
see: man less
-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.
Solution 2:
As jhscheer mentioned everything is in the man page for less
Add this to your zsh profile .zshrc
to make it play nice with git :)
LESS="-XRF"; export LESS
-- EDIT
Actually in your case it's probably better to run the following command to avoid modifying the global behaviour of less
:
git config --global core.pager 'less -XRF'