是否有一个命令行开关可以传递给gitdiff和其他默认使用较少寻呼机的命令?我知道这些方法存在:
git diff | cat。。。删除所有语法突出显示gitconfig--global core.pager cat将global.gitconfig中的寻呼机设置为cat导出GIT_PAGER=猫
但我更喜欢命令行开关。
是否有一个命令行开关可以传递给gitdiff和其他默认使用较少寻呼机的命令?我知道这些方法存在:
git diff | cat。。。删除所有语法突出显示gitconfig--global core.pager cat将global.gitconfig中的寻呼机设置为cat导出GIT_PAGER=猫
但我更喜欢命令行开关。
当前回答
git -P diff
或者——没有寻呼机。
BTW:用猫保存颜色
git diff --color=always | cat
其他回答
对于我写的一个快速而肮脏的脚本,我是这样做的:
PAGER=cat git diff ...
关于管道时禁用的颜色:
使用--color可避免禁用着色。
git diff—颜色|更少-R
或者强制配置(例如.gitconfig):
[color]
ui = on
git diff |小于-R
对于非彩色工具,请使用:
gitdiff--无颜色|一些基本工具
导出环境变量LESS=-R(在例如.bashrc中)默认情况下在“LESS”中启用颜色支持:
git diff|更少
与此相关,如果设置了默认的寻呼机,并且希望创建使用不同寻呼机的别名,则可以使用-c选项将配置参数仅传递给一个命令。
例如,我将delta配置为我的默认git寻呼机,但我可以像这样创建一个lessdiff git别名,以便在需要使用less的情况下使用。
[alias]
lessdiff = -c core.pager=less diff
如果您在~/.oh-my-zsh/lib/misc.zsh文件中使用oh my zsh,请注释这一行:
env_default 'LESS' '-R'
正如前面提到的答案,如果内容少于一个屏幕,则将-F选项传递给less会导致它退出。然而,在这样做之后,屏幕被重置,你最终看不到内容。
-X选项消除了这种行为。因此,我使用以下方法根据内容量启用条件分页:
git config --global --replace-all core.pager "less -F -X"