12 我正在使用Ubuntu 16.04默认终端(我相信是GNOME吗?) 我面临的问题是,当我使用git diff命令检查本地更改时,可以使用鼠标滚轮向上/向下滚动,但是当我到达底部时没有新行显示(因此,我只能看到其中的一页变化)。为了转到下一行,我可以使用空格或键盘的上/下箭头,但是我可以通过鼠标滚轮以某种方式做到这一点吗? 顺便说一句,如果我使用该less命令,它会按预期工作->向下滚动到新行。 git scrolling mouse-scroll — 托多尔 source
21 感谢@edwinksl的回答,我设法找到了解决问题的方法。 因此,默认情况下git LESS用作传呼机,我相信默认参数是FRSX。 在git 1.8+上,您可以使用删除选项less -+<option>,就我而言,我需要删除该X选项,因此: git config --global --replace-all core.pager 'less -+X' 但是正如@pcworld所提到的,这可能会导致适合单个页面的差异问题,因此: git config --global --replace-all core.pager 'less -+FX' 为我解决了滚动问题。 — 托多尔 source 3 我需要添加-+F到的选项,less否则适合一个屏幕的输出为空。请注意,这两个选项的组合都会通过分页器传递git的任何输出,即使它可以在一个屏幕上显示也是如此。但是,有一个包装器脚本,它的内容较少,只有在输出超出屏幕大小时才调用较少的内容。有关更多技术细节,请参见有关该Debian错误的注释#10和#11和较少涉及的问题。 — pcworld
3 从/programming//a/2183920/486919可以执行此操作并保留差异突出显示的一种方法是不使用git diff寻呼机: git --no-pager diff — 埃德温克斯 source 谢谢您的回答,这可以帮助我找到所需的确切解决方案->启用鼠标滚轮滚动。虽然删除传呼机是一个不错的解决方法,但我更喜欢从头开始阅读差异。 — 托多 @Todor这很公平;我同意--no-pager最适合短差异,而不适合长差异。 — edwinksl
-+F
到的选项,less
否则适合一个屏幕的输出为空。请注意,这两个选项的组合都会通过分页器传递git的任何输出,即使它可以在一个屏幕上显示也是如此。但是,有一个包装器脚本,它的内容较少,只有在输出超出屏幕大小时才调用较少的内容。有关更多技术细节,请参见有关该Debian错误的注释#10和#11和较少涉及的问题。