Чи можна прокручувати нові рядки за допомогою колеса миші всередині git diff?


13

Я використовую термінал за замовчуванням Ubuntu 16.04 (я вважаю, GNOME?)

Проблема, з якою я стикаюся, полягає в тому, що коли я використовую git diffкоманду для огляду своїх локальних змін, я можу прокручувати вгору / вниз за допомогою колеса миші, але нові рядки не відображаються, коли я добираюся до нижньої частини (тому я бачу лише одну сторінку зміни). Для того, щоб перейти до наступних рядків, я можу використовувати пробіл або стрілки вгору / вниз на клавіатурі, але чи можу я якось це зробити за допомогою колеса миші?

BTW Якщо я використовую lessкоманду, вона працює як очікувалося -> прокрутка вниз переходить до нових рядків.

Відповіді:


22

Завдяки відповіді @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 через пейджер, навіть якщо він міститься на одному екрані. Однак є сценарій обгортки для менше, який вимагає менше, лише якщо вихідний розмір перевищує розмір екрана . Дивіться коментарі №10 та №11 щодо цієї помилки Debian і це питання менше для отримання додаткових технічних деталей.
pcworld

3

З /programming//a/2183920/486919 , один із способів зробити це та зберегти відмінну підсвітку - це використання git diffбез пейджера:

git --no-pager diff

Дякую за цю відповідь, це допоможе мені знайти саме те рішення, яке я шукав ->, що дозволить прокручувати колесо миші. Хоча видалення пейджера - це хороша робота, я вважаю за краще читати, що відрізняється від початку.
Тодор

@Todor Це справедливо; Я погоджуюся --no-pager, найкраще для коротких відмінностей, але не для довгих.
edwinksl
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.