Czy mogę przewijać nowe linie za pomocą kółka myszy w git diff?


13

Używam domyślnego terminalu Ubuntu 16.04 (wierzę, że to GNOME?)

Problem, z którym się zmagam, polega na tym, że kiedy używam git diffpolecenia do sprawdzenia moich lokalnych zmian, mogę przewijać w górę / w dół za pomocą kółka myszy, ale żadne nowe linie nie pojawiają się, gdy dojdę do dołu (więc widzę tylko jedną stronę zmiany). Aby przejść do następnych linii, mogę użyć spacji lub strzałek w górę / w dół klawiatury, ale czy mogę to zrobić za pomocą kółka myszy?

BTW Jeśli użyję lesspolecenia, działa zgodnie z oczekiwaniami -> przewijanie w dół przechodzi do nowych wierszy.

Odpowiedzi:


22

Dzięki odpowiedzi @edwinksl udało mi się znaleźć rozwiązanie problemu.

Domyślnie git używa LESSjako pager i uważam, że domyślnymi argumentami są FRSX.

Na git 1.8+ możesz usunąć opcje za pomocą less -+<option>, w moim przypadku muszę usunąć Xopcję, aby:

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

ale jak wspomniałem @pcworld, może to powodować problemy z różnicami, które pasują na jednej stronie, a zatem:

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

naprawiono problem przewijania dla mnie.


3
Musiałem dodać -+Fdo opcji lesslub wyjście, które mieści się na jednym ekranie jest puste. Zauważ, że obie opcje razem przepuszczą dowolne wyjście git przez pager, nawet jeśli zmieści się na jednym ekranie. Istnieje jednak skrypt otoki dla mniejszej liczby wywołań tylko wtedy, gdy wyjście przekracza rozmiar ekranu . Zobacz komentarze # 10 i # 11 na temat tego błędu Debiana i tego pytania na mniej, aby uzyskać więcej szczegółów technicznych.
pcworld,

3

Od /programming//a/2183920/486919 , jednym ze sposobów, aby to zrobić i zachować wyróżnianie różnic, jest użycie git diffbez pagera:

git --no-pager diff

Dziękuję za tę odpowiedź, to pomoże mi znaleźć dokładnie to, czego szukałem -> włączenie przewijania kółkiem myszy. Podczas gdy usuwanie pagera jest dobrym rozwiązaniem, wolę zacząć czytać diff od samego początku.
Todor

@Todor To jest sprawiedliwe; Zgadzam --no-pagersię, że najlepiej jest dla krótkich różnic, ale nie dla długich.
edwinksl
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.