Отключите весь пейджинг в 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 просто выгружать свой вывод?
Ответы
Ответ 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
.