Travis Jensen
Travis Jensen

Reputation: 5420

Disable all paging in git

I do all of my terminal work in emacs and would prefer to use the much richer tools for moving around the output than "less". Worse, any time an applications pages inside of emacs, it is horribly annoying because it is a dumb terminal.

While I can swap things like "git help rm" for "M-x man git-rm", I would prefer to just disable all paging of everything in git. Then I don't have to hunt for the right incantations.

  git config --global core.pager cat

Doesn't seem to do the trick.

  git config --global man.viewer "man -P cat"

causes problems because "man -P cat" isn't a valid executable.

How can I get git to just dump its output?

Upvotes: 27

Views: 7418

Answers (5)

Venks I
Venks I

Reputation: 51

Adding to Geoff Reedy's answer, this also gets rid of the _ and ^H in the man pages:

git config --global core.pager cat
git config --global man.viewer catman
git config --global man.catman.cmd 'man -P "col -b"'

Upvotes: 5

Sérgio
Sérgio

Reputation: 7249

git config --global core.pager ""

works for me

Upvotes: 1

kan
kan

Reputation: 28951

To disable pagination for all commands, set core.pager or GIT_PAGER to cat.

(c) http://www.kernel.org/pub/software/scm/git/docs/git-config.html

Addition. You also asked about git help. It actually not a git's pager, it is $MANPAGER. So maybe for you it will be enough just make PAGER=cat.

PAGER=cat git help log works with no pagers.

Upvotes: 16

Geoff Reedy
Geoff Reedy

Reputation: 36011

From reading the git help manpage it looks like you should be able to

git config --global man.viewer catman
git config --global man.catman.cmd "man -P cat"

The man.viewer config value is a tool name, not a (partial) command line. Then man.catman.cmd gives the command to use for the catman tool.

It seems like setting core.pager to cat should take care of everything else.

Upvotes: 9

Lily Ballard
Lily Ballard

Reputation: 185671

You could try alias git='git --no-pager'. Or if that doesn't work for some reason inside of emacs, you could create a git shell script somewhere earlier in your PATH that calls the real git --no-pager.

Upvotes: 2

Related Questions