2016-01-14 26 views
2

有没有办法将git配置为仅在其超过终端大小(或至少特定行数)时才将其输出管道化为纸张?我认为这很烦人,例如一个6行比较显示在寻呼机 - 隐藏任何以前的输出,并要求我明确按“q”退出。如何仅在必要时对git输出进行分页

+0

指定一个行为如此的寻呼机。 –

回答

2

在大多数系统中,less是默认的传呼,Git使用,您可以配置更少的行为像你描述:

git config --global core.pager "less -X -F" 

-F或--quit,如果一屏如果整个文件可以显示在第一个屏幕上,则会导致自动退出。

-X或--no-init禁止向终端发送termcap初始化和取消初始化字符串。如果去初始化字符串做了一些不必要的事情,如 清除屏幕,有时候这是需要的 。

请参阅this answer了解配置更少的更多选项。

而且,特别是与问候到diff命令可以使用:

git --no-pager diff 
1

您可以通过设置变量PAGER配置您的寻呼机,并需要一个寻呼机任何程序将使用它。 less有一个选项-F正是这样做。将export PAGER="less -F"添加到您的~/.bashrc将使此永久。

我个人使用less -FXRS;有关更多详细信息,请参阅手册页。

0

您描述的行为是默认行为。 Git开始less,如果未设置$LESS,则Git将其设置为FRX(请参阅man git-config)。

如果您没有看到此行为,那么很可能有人(某些发行版默认为此操作)已为您设置$LESS。你可以在你的shell的配置文件中取消它,或者使用其他答案之一。