Набрав 'git log --oneline' в трубках oh-my-zsh, выведите 'less'

Я только что перешел на Oh My Zsh и я использую тему Avit.

Когда я печатаю git log --oneline мой вывод, кажется, передан less, Это делает это для любой темы, которую я использую.

Когда я использовал bash shell, он никогда не очищал экран для вывода этих строк.

Как настроить его так, чтобы он не очищал экран для вывода строк, а вместо этого просто выводил строки после ввода команды?

Вот скриншот для справки:

введите описание здесь

3 ответа

Решение

Вы можете определить пейджер, который git по умолчанию использует для вывода через

  1. $GIT_PAGER или же $PAGER переменная окружения
  2. запись git config core.pager

Пейджер может быть временно отключен с помощью опции командной строки git --no-pager, Как сделать его постоянным, зависит от обеих возможностей:

  1. найти, где в конфигурационных файлах вашей оболочки $GIT_PAGER или же $PAGER Переменная среды определяется и удаляет эту строку.

  2. бежать git config --global core.pager ''

oh-my-zsh работает less команда с -R (Перекрашивать). Вы можете отключить это поведение, добавив следующую строку в конце вашего ~/.zshrc

unset LESS;

Это установлено на -R в ~/.oh-my-zsh/lib/misc.zsh

Источник: https://stackoverflow.com/a/49267711/1050554.

Может быть, лучшее решение:

git config --global --replace-all core.pager "less -F -X"

Как я могу предотвратить использование git diff на пейджер?

Простой способ исправить это сделать git log Не используйте пейджер в глобальных настройках конфигурации:

git config --global pager.log false

Edit file ~/.zshrc and add PAGER= Save the file Execute source ~/.zshrc

Другие вопросы по тегам