Подтвердить что ты не робот

Отключите весь пейджинг в git

Я делаю все свои работы с терминалом в emacs и предпочитаю использовать гораздо более богатые инструменты для перемещения по выходному сигналу, чем "меньше". Хуже того, в любой момент, когда страницы приложений внутри emacs, это ужасно раздражает, потому что это немой терминал.

В то время как я могу поменять такие вещи, как "git help rm" для "M-x man git -rm", я бы предпочел просто отключить весь пейджинг всего в git. Тогда мне не нужно охотиться за правильными заклинаниями.

  git config --global core.pager cat

Кажется, это не трюк.

  git config --global man.viewer "man -P cat"

вызывает проблемы, потому что "man -P cat" не является допустимым исполняемым файлом.

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

4b9b3361

Ответ 1

Из чтения man-страницы git help похоже, что вы должны иметь возможность

git config --global man.viewer catman
git config --global man.catman.cmd "man -P cat"

Значение конфигурации man.viewer - это имя инструмента, а не (частичная) командная строка. Затем man.catman.cmd дает команду для использования для инструмента catman.

Кажется, что настройка core.pager - cat должна заботиться обо всем остальном.

Ответ 2

Чтобы отключить разбиение на страницы для всех команд, установите core.pager или GIT_PAGER до cat.

(c) http://www.kernel.org/pub/software/scm/git/docs/git-config.html

Добавление. Вы также задали вопрос о git help. На самом деле это не пейджер git, это $MANPAGER. Так что, возможно, для вас достаточно просто сделать PAGER=cat.

PAGER=cat git help log работает без пейджеров.

Ответ 3

Вы можете попробовать alias git='git --no-pager'. Или если это почему-то не работает внутри emacs, вы можете создать git shell script где-то ранее в своем PATH, который вызывает реальный git --no-pager.