Posso rolar para novas linhas usando a roda do mouse dentro do git diff?

12

Estou usando o terminal padrão Ubuntu 16.04 (é o GNOME que acredito?)

O problema que enfrento é que, quando uso o git diffcomando para inspecionar minhas alterações locais, posso rolar para cima / baixo usando a roda do mouse, mas nenhuma linha nova aparece quando chego ao fundo (para que eu possa ver apenas uma página de alterar). Para ir para as próximas linhas, posso usar o espaço ou as setas para cima / para baixo do teclado, mas de alguma forma posso fazer isso com a roda do mouse?

BTW Se eu usar o lesscomando, ele funcionará conforme o esperado -> rolar para baixo vai para novas linhas.

Todor
fonte

Respostas:

20

Graças à resposta de @edwinksl , consegui encontrar uma solução para o problema.

Então, por padrão, o git usa LESScomo pager e acredito que os argumentos padrão sejam FRSX.

No git 1.8+, você pode remover as opções com less -+<option>, no meu caso, preciso remover a Xopção para:

git config --global --replace-all core.pager 'less -+X'

mas como a @pcworld menciona, isso pode causar problemas com diferenças que cabem em uma única página, assim:

git config --global --replace-all core.pager 'less -+FX'

Corrigido o problema de rolagem para mim.

Todor
fonte
2
Eu precisava adicionar -+Fàs opções de lessou então a saída que se encaixa em uma tela está vazia. Observe que as duas opções combinadas direcionam qualquer saída do git através de um pager, mesmo que caiba em uma tela. No entanto, há um script de wrapper para menos que chama menos somente se a saída exceder o tamanho da tela . Veja os comentários 10 e 11 sobre este bug do Debian e esta pergunta sobre menos para obter mais detalhes técnicos.
PCWorld
3

Em /programming//a/2183920/486919 , uma maneira de fazer isso e preservar o destaque do diff é usar git diffsem um pager:

git --no-pager diff
edwinksl
fonte
Obrigado por esta resposta, isso me ajuda a encontrar a solução exata que eu estava procurando -> ativando a rolagem da roda do mouse. Embora remover o pager seja uma boa solução, prefiro começar a ler as diferenças desde o início.
Todor
@ Todor Isso é justo; Concordo que --no-pageré melhor para diferenças curtas, mas não para longas.
edwinksl