如何为git diff的彩色输出启用寻呼机

时间:2016-08-13 17:16:29

标签: git git-diff

每当我做git diff时,它都会把我带到diff结果的末尾。

我使用diff3作为diff.tool

我想只看当前页面的彩色差异,在我按j之前不应向下滚动。

当我将“core.pager”改为“less”时,

它删除了所有颜色和格式,就像这张图片一样,但分页效果很好。

enter image description here

是否存在不改变差异结果的颜色和格式的寻呼机?

2 个答案:

答案 0 :(得分:1)

使用less-r呼叫-R它会预先设置颜色代码,因此为less创建别名是一种可能的解决方案:

alias less="less -r"

答案 1 :(得分:0)

替代方案在 Git 2.33(2021 年第三季度)中进行了解释,其中“color.pager”配置变量的文档已更新。

请参阅 commit a84216cJeff King (peff)(2021 年 5 月 19 日)。
(2021 年 6 月 10 日于 Junio C Hamano -- gitster --commit 7ce7a61 合并)

<块引用>

doc:解释color.pager

的使用

签字人:Jeff King

<块引用>

color.pager 的当前文档在技术上是正确的,但有点误导,并没有真正阐明变量的用途。
original thread which added it 中所述:

<块引用>

重点是处理不理解颜色的寻呼机。

因此将其设置为“true”对于将输出着色到寻呼机是必要的,但其本身还不够(您还必须启用其他颜色选项之一,但请注意,这些选项被设置为“自动”这几天默认)。

git config 现在包含在其 man page 中:

<块引用>

一个布尔值,用于指定 auto 颜色模式是否应该着色 输出到寻呼机。 默认为 true;

如果您的寻呼机不理解 ANSI 颜色代码,请将其设置为 false

来自线程:

<块引用> <块引用>

我真的不明白你为什么要启用颜色,如果 你想在分页时禁用它。
当您想要一个足够短而不会被分页的颜色差异时,您是否有很多情况?

当我使用转义字符或突出显示的寻呼机时 内容本身没有寻呼机的 git diff 的输出应该有 颜色,但不是与寻呼机。

例如,使用带有路径规范的 git diff 在大多数情况下是相当短的。
对于 git diff,我必须手动启用分页并通常运行 git diff | $PAGER,但 git log 会自动使用寻呼机,不应使用颜色。