我可以在git diff中使用鼠标滚轮滚动到新行吗?


12

我正在使用Ubuntu 16.04默认终端(我相信是GNOME吗?)

我面临的问题是,当我使用git diff命令检查本地更改时,可以使用鼠标滚轮向上/向下滚动,但是当我到达底部时没有新行显示(因此,我只能看到其中的一页变化)。为了转到下一行,我可以使用空格或键盘的上/下箭头,但是我可以通过鼠标滚轮以某种方式做到这一点吗?

顺便说一句,如果我使用该less命令,它会按预期工作->向下滚动到新行。

Answers:


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'

为我解决了滚动问题。


3
我需要添加-+F到的选项,less否则适合一个屏幕的输出为空。请注意,这两个选项的组合都会通过分页器传递git的任何输出,即使它可以在一个屏幕上显示也是如此。但是,有一个包装器脚本,它的内容较少,只有在输出超出屏幕大小时才调用较少的内容。有关更多技术细节,请参见有关该Debian错误的注释#10和#11较少涉及的问题
pcworld

3

/programming//a/2183920/486919可以执行此操作并保留差异突出显示的一种方法是不使用git diff寻呼机:

git --no-pager diff

谢谢您的回答,这可以帮助我找到所需的确切解决方案->启用鼠标滚轮滚动。虽然删除传呼机是一个不错的解决方法,但我更喜欢从头开始阅读差异。
托多

@Todor这很公平;我同意--no-pager最适合短差异,而不适合长差异。
edwinksl
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.