diff 和 show 的不同 git pager 选项

Cim*_*ali 4 git git-diff git-config git-show

我喜欢我的标签显示为 4 个空格,为此我有首选项core.pager = 'less -x4'.

我知道此时我在吹毛求疵,但即使在差异模式下,我也希望前导标签为 4 个空格,这显然是最常用的 - 但是由于前导+, -,它仅显示为 3或。由于对齐的行,这有点烦人,如果有些没有前导选项卡,与其他人相比,它们会移动 1 列。

我可以更正差异的显示,less -x1,5以获得 4 个空格的选项卡,在列 1 模 4 上对齐。但是,此选项会导致前导选项卡在非差异模式下显示为 1 列,这反过来又非常令人不安。

因此,对于两个具体示例,我如何设置 git 选项以便我使用:

  • less -x1,5对于差异(或真正的补丁显示)命令,例如git diffgit show HEAD
  • less -x4 对于不显示差异的命令,例如 git show HEAD~1:package.json

我确信必须有一个不同的渲染器来处理基本diffcat操作,但我无法找到这些特定的选项(尽管它们可能存在,但关于 git 主题有很多噪音)。我也不想写一大堆别名,这有点太脏了。那么这甚至可能吗?

phd*_*phd 6

pager.<cmd> 允许为命令设置寻呼机:

git config [--global] pager.diff "less -x1,5"
git config [--global] pager.show "less -x4"
Run Code Online (Sandbox Code Playgroud)

  • @Cimbali:不幸的是,你不能完全理解。你可以给自己设置一个别名,`git showfile` 或类似的,运行 `!git --config pager.show=&lt;settings&gt; show`。 (2认同)