10

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.

2 Answers 2

9
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.
1
  • Thanks, that was it! I added it to ~/.lesskey and it runs with all the git etc. Mar 5, 2014 at 17:42
9

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'

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .