2012-09-10 249 views
27

我使用less作为我的git寻呼机。总是使用寻呼机的git diff

如果git diff输出在一个页面上可读,我的git将输出打印到屏幕上。 有时候我打字太快,打字Ctrl+D(下半页),这会杀死我的终端。即使输出非常小,是否有可以启用寻呼机git diff的选项?

不起作用:

  • git -p diff
  • git --paginate diff
  • git设置:pager.diff = true

回答

38

这是由-F--quit-if-one-screen)选项控制较少。

如果$LESS$GIT_PAGER环境变量没有指定,Git默认使用的选项为FRSX。要改变它,请指定core.pager选项并将其设置为RSX:混帐的

git config --global core.pager 'less -+F' 

旧版本使用推荐自己的文档中的以下内容:

git config --global core.pager 'less -+$LESS -RSX' 
+0

混帐不使用默认FRSX 。我怀疑你正从环境变量'LESS'或'GIT_PAGER'获得这些默认值,这表明另一个(更简单)的解决方案。也就是说,确保'F'不出现在'LESS'或'GIT_PAGER'中。如果git在PAGER和GIT_PAGER未设置时使用默认值,那会让我感到意外,但也许我错了。文档? –

+1

@WilliamPursell:Git文档最近已经更新,以更加向后兼容的方式禁用选项。我的代码直接从(旧)手册页复制 - 我已经更新了它。该文档还写道»如果未设置,Git将LESS变量设置为FSRX« – knittl

+0

@ knittl您能否提供对该文档的引用?谢谢 – Leonmax