How can I turn on a pager for the output of git status?

I want the output of git status to be returned in a less-like environment. This already works for git diff, but not git status. I already tried adding the following to ~/.gitconfig, but it didn't work:

[core]
  pager = less

What am I missing? Thanks.


Solution 1:

You can turn on and off paging of specific commands with the pager.<cmd> setting, in this case pager.status:

If the value is boolean, turns on or off pagination of the output of a particular Git subcommand when writing to a tty. Otherwise, turns on pagination for the subcommand using the pager specified by the value of pager.<cmd>.

Run the following to enable paging for status subcommand:

git config --global pager.status true

or manually add the following to the end of your ~/.gitconfig:

[pager]
    status = true

If you just want to turn paging on or off for a specific invocation, you can use option -p/--paginate respectively -P/--no-pager to the git command itself as well, e.g.:

git -p status

Solution 2:

For one-off:

git -p status

Or --paginate. Colourised. Works everywhere. Including errors/help.

git -p status -h is much better than having to grab stderr with git status -h |& less

Though long help messed up my terminal: git -p status --help