是否有一个命令行开关可以传递给git diff
和默认情况下less
分页器的其他命令?
我知道我可以通过管道将其发送给 cat,但是这样可以删除所有语法突出显示。
GITPAGER=cat
(或类似的东西)将全局. gitconfig 中的传呼机设置为 cat。但我有时想使用传呼机(取决于 diff 的大小)。
但是,如果有的话,我宁愿使用命令行开关。我找不到手册页中的内容。
--no-pager
会告诉它不要使用寻呼机。 -F
放在单个屏幕中,则将选项 - F 传递给less
用法:
git --no-pager diff
评论中的其他选项包括:
# Set an evaporating environment variable to use 'cat' for your pager
GIT_PAGER=cat git diff
# Tells 'less' not to paginate if less than a page
export LESS="-F -X $LESS"
# ...then Git as usual
git diff
正如前面提到的答案,如果内容少于一个屏幕-F
选项less
但是,这样做之后,屏幕将重置,最终您将看不到内容。
-X
选项消除了该行为。因此,我使用以下内容基于内容量启用条件分页:
git config --global --replace-all core.pager "less -F -X"
用
git config --global core.pager cat
摆脱所有存储库中所有命令的寻呼机。
pager.<cmd>
设置而不是core.pager
禁用单个 Git 子命令的分页,并且可以更改每个 Git 存储库的设置(忽略--global
)。
有关详细信息,请参见man git-config
并搜索pager.<cmd>
。