禁用git中的所有分页

时间:2012-08-28 19:35:14

标签: git emacs terminal

我在emacs中完成了所有终端工作,并且宁愿使用更丰富的工具来移动输出而不是“更少”。更糟糕的是,任何时候在emacs内部的应用程序页面,它是非常烦人的,因为它是一个愚蠢的终端。

虽然我可以为“M-x man git-rm”交换“git help rm”之类的内容,但我更愿意在git中禁用所有内容的所有分页。然后,我不必寻找正确的咒语。

  git config --global core.pager cat

似乎没有做到这一点。

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

导致问题,因为“man -P cat”不是有效的可执行文件。

如何让git只是转储它的输出?

4 个答案:

答案 0 :(得分:12)

  

要禁用所有命令的分页,请设置core.pager或   GIT_PAGERcat

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

的增添。您还询问了git help。它实际上不是git的寻呼机,它是$MANPAGER。所以也许对你而言,只需制作PAGER=cat

PAGER=cat git help log无需寻呼机即可使用。

答案 1 :(得分:6)

从阅读git help联机帮助页看起来应该能够

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

man.viewer配置值是工具名称,而不是(部分)命令行。然后man.catman.cmd提供了用于catman工具的命令。

core.pager设置为cat似乎应该处理其他所有事情。

答案 2 :(得分:1)

您可以尝试alias git='git --no-pager'。或者,如果因为某些原因在emacs内部无效,您可以在git之前的某处创建PATH shell脚本,该脚本调用真实的git --no-pager

答案 3 :(得分:0)

添加到Geoff Reedy上面的答案。这也消除了手册页中的_和^ H:

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