Я настраиваю пейджер Git, но у меня есть некоторые проблемы с ним.
Что я хочу это:
- Всегда цветной вывод
- Прокрутка тачпадом или мышью
- Выход: если один-экран
И моя текущая конфигурация:
$ git config --global core.pager
less -+F -+X -+S
Это делает все, кроме последнего.
Но, если я уберу -+F
, в случае одного экрана вывод не будет. Если я также удалю -+X
, вывод вернется, но я не могу прокрутить с помощью сенсорной панели less
.
Есть ли обходной путь, который может удовлетворить все требования выше?
-F
(выход, если один экран), я всегда делаю это в сочетании с-X
(отключить termcap init и de-init), но, как вы говорите, это не позволит прокрутить мышью. (Я сомневаюсь, что прокрутка вообще возможна-X
.) Я изменил название вопроса, но не стесняйтесь откатить его, если вы чувствуете, что он теряет слишком много значения. :)Ответы:
ОБНОВИТЬ
Решение: обновить до 530
С http://www.greenwoodsoftware.com/less/news.530.html :
Таким образом, с этим исправлением нам даже не нужно беспокоиться о том, стоит ли использовать
-X
самостоятельно,less -F
просто позаботимся об этом.PS. Некоторые другие менее конфиги, которые я использую:
В конце концов я сам написал обертку.
Пользователи BSD / OSX должны установить вручную
gnu-sed
. Удивительное регулярное выражение, которое помогает удалять цветовые коды, можно найти по адресу /programming//a/18000433/2487227.Я сохранил этот скрипт,
/usr/local/bin/pager
а затемgit config --global core.pager /usr/local/bin/pager
Лечение больных ОКР, ура!источник
fold
должно с этим справиться ... но, да, ошибки, может быть ... Не могли бы вы привести пример?fold
не совсем понимает вкладки. Вы могли бы быть в состоянии исправить это, используяexpand
. Это все еще не будет обрабатывать встроенные escape-последовательности (которые часто запрашиваются в контекстеgit
).fold
не корректировал обернутые строки, используя пробелы, а просто нашел ближайшую точку для нарезки. Так что внешний вид будет вводить в заблуждение.Я использую следующую обертку в качестве моего пейджера. Это не так красиво, как другая обертка, показанная здесь (потому что она всегда использует
less -S
обрезание длинных строк), но это чертовски просто. Кажется, работает довольно хорошо с iTerm2.источник