Как я могу передать параметры менее из git-diff?
У меня достаточно стандартная настройка для git на машине с OSX, но я бы хотел добавить -j.5 к меньшему, чтобы поиск совпадений происходил в середине экрана.
Я пытался делать export LESS=-j.5
, но это вызвало такой контент, как ESC[1mdiff --git a/app/images/bluecog-icon.png b/app/images/bluecog-icon.pngESC[m
появляться, хотя и заранее, echo $LESS
дал пустой результат. Я посмотрел вверх git help diff
но в нем не было упоминаний о "пейджере" или "менее", которые относятся к инструменту Unix (в отличие от значения, противоположного "большему").
Либо изменение переменной среды, либо передача параметра в git diff
приемлемо Я знаю, что я могу просто ввести -j.5
когда я нахожусь внутри самого git diff.
2 ответа
Настройка Git немного своеобразна:
- Пейджер по умолчанию
less
(хотя это опция времени компиляции). - Вы можете настроить конкретный пейджер с
core.pager
, Если вы сделаете это, вы можете добавить параметры здесь. -
less
Сама команда читает переменную окруженияLESS
Сначала сканирует варианты. - Если переменная среды
LESS
установлен (на что угодно, включая даже пустую строку), Git не устанавливает его; но в противном случае Git устанавливает егоFRX
, даже если пейджер неless
,
Следовательно, как отмечено в git config
документация:
... Если вы хотите выборочно переопределить настройки Git по умолчанию для
LESS
Вы можете установитьcore.pager
напримерless -S
, Это будет передано оболочке Git, которая переведет последнюю команду вLESS=FRX less -S
, Окружающая среда не устанавливаетS
вариант, но командная строка делает, инструктируя меньше обрезать длинные строки. Аналогично, настройкаcore.pager
вless -+F
деактивируетF
параметр, указанный средой из командной строки, деактивирующий поведение "выйти, если один экран"less
, Можно специально активировать некоторые флаги для определенных команд: например, настройкаpager.blame
вless -S
разрешает усечение строки только дляgit blame
,
Следовательно, если вы хотите это только для git diff
, задавать pager.diff
в less -j.5
, Если вы хотите это для всех команд Git, вы можете установить core.pager
в less -j.5
или установите переменную среды LESS
в FRXj.5
; оба будут иметь одинаковый эффект.
Те ESC[1m
цветовые коды для терминала За less
интерпретировать их добавить опцию -R
, Опции -FSX
Также рекомендуются:
export LESS=FRSXj.5