¿Puedo desplazarme a nuevas líneas usando la rueda del mouse dentro de git diff?

12

Estoy usando el terminal predeterminado de Ubuntu 16.04 (creo que es GNOME)

El problema al que me enfrento es que cuando uso el git diffcomando para inspeccionar mis cambios locales, puedo desplazarme hacia arriba / abajo con la rueda del mouse, pero no aparecen nuevas líneas cuando llego al final (por lo que solo puedo ver una página de cambios) Para pasar a las siguientes líneas, puedo usar el espacio o las flechas arriba / abajo del teclado, pero ¿puedo hacer esto de alguna manera con la rueda del mouse?

Por cierto, si uso el lesscomando funciona como se esperaba -> desplazarse hacia abajo va a nuevas líneas.

Todor
fuente

Respuestas:

21

Gracias a la respuesta de @edwinksl logré encontrar una solución al problema.

Entonces, por defecto, git usa LESScomo buscapersonas y creo que los argumentos predeterminados son FRSX.

En git 1.8+ puede eliminar opciones con less -+<option>, en mi caso, necesito eliminar la Xopción para:

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

pero como @pcworld menciona, esto puede causar problemas con diferencias que se ajustan en una sola página, por lo tanto:

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

solucionó el problema de desplazamiento para mí.

Todor
fuente
3
Necesitaba agregar -+Fa las opciones lesso la salida que cabe en una pantalla está vacía. Tenga en cuenta que ambas opciones combinadas canalizarán cualquier salida de git a través de un localizador, incluso si cabe en una pantalla. Sin embargo, hay una secuencia de comandos de contenedor por menos que llama menos solo si la salida excede el tamaño de la pantalla . Vea los comentarios # 10 y # 11 sobre este error de Debian y esta pregunta en menos para obtener más detalles técnicos.
pcworld
3

Desde /programming//a/2183920/486919 , una forma de hacer esto y preservar el resaltado de diferencias es usar git diffsin un localizador:

git --no-pager diff
edwinksl
fuente
Gracias por esta respuesta, esto me ayuda a encontrar la solución exacta que estaba buscando -> habilitar el desplazamiento de la rueda del mouse. Si bien quitar el localizador es una buena solución, prefiero comenzar a leer las diferencias desde el principio.
Todor
@Todor Eso es justo; Estoy de acuerdo en que --no-pageres mejor para diferencias cortas pero no para largas.
edwinksl