По умолчанию и в зависимости от вашего ~/.gitconfig
файла Git будет использовать пейджер по умолчанию для вывода git log
и git diff
т. Д.
Чтобы отключить это поведение, вы можете использовать --no-pager
опцию:
git --no-pager log
Я использую zsh с oh-my-zsh каждый день, но есть кое-что, что беспокоит меня. Если я использую git log
или любую другую подобную команду, то вывод занимает полное окно терминала. После нажатия qвывод очищается, и я возвращаюсь к моей подсказке.
Я хотел бы, чтобы вывод оставался на экране. Что я могу настроить, чтобы добиться этого?
Картинка стоит тысячи слов, так что вот рисунок текущего поведения:
А вот и мой .zshrc:
plugins=( gitfast docker osx web-search cp ) ZSH_THEME="powerlevel9k/powerlevel9k"
По умолчанию и в зависимости от вашего ~/.gitconfig
файла Git будет использовать пейджер по умолчанию для вывода git log
и git diff
т. Д.
Чтобы отключить это поведение, вы можете использовать --no-pager
опцию:
git --no-pager log
Посмотрите, что вы настроили в core.pager. Возможно, вы установили его less
без установленного -X
флага. Установив этот флаг, вы не сможете less
очистить экран при выходе.
Если это так, перейдите к разделу ~/.gitconfig
и отредактируйте pager
его [core]
. У меня есть мой набор для -FRSX
.
$ git config --get core.pager less -FRSX
И для вашего удобства это со less
страницы руководства, описывающей значение каждого из этих флагов:
-F or --quit-if-one-screen Causes less to automatically exit if the entire file can be displayed on the first screen. -R or --RAW-CONTROL-CHARS Like -r, but only ANSI "color" escape sequences are output in "raw" form. Unlike -r, the screen appearance is maintained correctly in most cases. ANSI "color" escape sequences are sequences of the form: ESC [ ... m where the "..." is zero or more color specification characters For the purpose of keeping track of screen appearance, ANSI color escape sequences are assumed to not move the cursor. You can make less think that characters other than "m" can end ANSI color escape sequences by setting the environment variable LESSANSIENDCHARS to the list of characters which can end a color escape sequence. And you can make less think that characters other than the standard ones may appear between the ESC and the m by setting the environment variable LESSANSIMIDCHARS to the list of characters which can appear. -S or --chop-long-lines Causes lines longer than the screen width to be chopped (truncated) rather than wrapped. That is, the portion of a long line that does not fit in the screen width is not shown. The default is to wrap long lines; that is, display the remainder on the next line. -X or --no-init Disables sending the termcap initialization and deinitialization strings to the terminal. This is sometimes desirable if the deinitialization string does something unnecessary, like clearing the screen.