26

我在 emacs 中完成所有终端工作,并且更喜欢使用更丰富的工具来移动输出而不是“less”。更糟糕的是,任何时候应用程序在 emacs 中页面时,都会非常烦人,因为它是一个哑终端。

虽然我可以将“git help rm”之类的东西换成“Mx man git-rm”,但我更愿意禁用 git 中所有内容的所有分页。这样我就不必寻找正确的咒语了。

  git config --global core.pager cat

似乎没有奏效。

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

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

我怎样才能让 git 转储它的输出?

4

4 回答 4

13

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

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

添加。你也问过git help。它实际上不是 git 的寻呼机,它是$MANPAGER. 所以也许对你来说,只需 make 就足够了PAGER=cat

PAGER=cat git help log无需寻呼机即可工作。

于 2012-08-28T20:19:21.643 回答
8

从阅读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照顾其他一切。

于 2012-08-28T20:17:58.743 回答
2

你可以试试alias git='git --no-pager'。或者,如果由于某种原因在 emacs 内部无法正常工作,您可以git在之前的某个位置创建一个 shell 脚本,该脚本PATH调用真正的git --no-pager.

于 2012-08-28T19:53:31.550 回答
2

添加到上面的 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"'
于 2018-05-12T15:55:15.373 回答