Always use the pager for git diff

Dave Halter picture Dave Halter · Sep 10, 2012 · Viewed 9.8k times · Source

I'm using less as my git pager.

If the git diff output is readable on one page, my git prints the output to the screen. Sometimes I'm too fast with typing Ctrl+D (half page down), which kills my terminal. Is there an option to enable the pager for git diff, even if the output is very small?

Doesn't work:

  • git -p diff
  • git --paginate diff
  • git settings: pager.diff = true

Answer

knittl picture knittl · Sep 10, 2012

This is controlled by the -F (--quit-if-one-screen) option to less.

Git uses the options FRSX for/of less by default, if none are specified by the $LESS or $GIT_PAGER environment variables. To change it, specify the core.pager option and set it to RSX:

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

Older versions of Git used to recommend the following in their documentation:

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