Когда я запускаю git branch
(из bash или csh), он автоматически передает вывод less
. Тем не менее, имея всего несколько веток в хранилище, это больше не нужно, это раздражает, так как список ветвей исчезает, как только я ухожу меньше.
Проверка ~/.gitconfig
файла и локальных .git/config
файлов не находит ничего о пейджере или чем-то еще, что могло бы вызвать это. В противном случае, я не нашел ничего полезного или многообещающего в веб-поиске.
Почему это происходит, и что (если что-нибудь) я могу сделать, чтобы less
запустить, когда необходимо (например, когда делаю, git log
когда есть много истории), но не иначе (как a git branch
только с 2 или 3 ветвями)?
export LESS=-X
в.profile
. Это позволяет избежать «очистки» экрана. Я ненавижу его , что стандартная установка очищает экран , потому что часто нужно вырезать и вставить материал или использовать его в качестве ссылки.Ответы:
Вы можете установить следующее:
Это будет гарантировать, что
less
будетF
)R
)Нарезать длинные линии (S
)X
)Редактировать: удалена
S
опция, основанная на комментарии Питера А. Шейдераисточник
--global
если вы хотите, чтобы он применялся только к текущему хранилищу.LESS
в значение-FR
, добавление X и S по вкусу - это еще один способ.export PAGER='less -FRSX'
и git соблюдает ее (при отсутствии определенной конфигурации git). Кстати,-S
это опасно, потому что он молча отбрасывает вывод.Здесь есть несколько отличных ответов о настройке
less
поведения, но, поскольку мои седобородые пальцы привыкли печатать,|more
когда я этого хочу, и, поскольку я все еще в большей степени отношусь к ртути, чем к мерзавцу, я увлеченисточник
git-config
состояний указывает, что значениеcore.pager
предназначено для интерпретации оболочкой. Когда вы устанавливаете егоno
, он пытается выполнить командуno
, которая, скорее всего, не существует, а затем возвращается к простому выводу содержимого. Вы все равно увидите сообщение об ошибке в голове. Что вы, вероятно, хотите сделать, это установить егоcat
вместо.cat
Бесполезно, и я не особо доверяю Linux Util Сопровождающие не изменить то , что кошка делает (см наls
цитируемый файлы фиаско ). Может быть, я должен использовать "не когда-либо" вместо этого. Менее вероятно, что такая программа существует.core.pager
пустой строки (git config core.pager ''
) или to неcat
будет запускать что-либо вообще. Вы можете решить это самостоятельно, если не верите мне ;-) Нет никаких оснований для того, чтобы установить его в качестве фиктивной команды .no
cat
, говорите ли вы, что у git есть специальный случай для этой строки в коде пейджера - то есть этоcat
фактически синоним для «ноль»? Я ожидаю, что это выполнитсяcat
.