我在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只是转储它的输出?
答案 0 :(得分:12)
要禁用所有命令的分页,请设置
core.pager
或GIT_PAGER
至cat
。
(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"'