Nullptr
Nullptr

Reputation: 3193

git log/show etc. replaces the terminal screen

I recently started to use zsh (oh-my-zsh, without customizations) on iTerm2. But, I'm having a trouble in git log or git show.

Previously, for example, the git log results were just a part of the terminal, just like ls -l result. After quitting git log by pressing q key, the result was remained in the terminal screen. I was able to pick some hash id easily.

However, the current problem is that git log (or git show) results replace the screen. So, after quitting git log, the terminal completely removes all git results and returns to the original screen. This behavior is like vim.

This behavior is the same even with bash or Mac's default terminal app. This is not a problem of --no-pager.

Any helps would be appreciated.

Upvotes: 48

Views: 7034

Answers (2)

Alex Maystrenko
Alex Maystrenko

Reputation: 1251

oh-my-zsh executes less with -R flag, You may run unset LESS to fallback to default behaviour.

If you want to make this change persistent, put this command to .zshrc.

Upvotes: 66

VonC
VonC

Reputation: 1326776

Can you try with:

git config --global --replace-all core.pager "less -F -X"

From "How do I prevent git diff from using a pager?":

passing the -F option to less causes it to quit if the content is less than one screen, however after doing so the screen is reset and you end up not seeing the content, the -X option does away with that behaviour.

Upvotes: 63

Related Questions