如何在.gitconfig中使用ANSI 256色



我正在尝试为git状态设置自定义颜色,如下所示

当使用预定义的颜色名称时:

[color "status"]
changed = yellow normal

使用ANSI 256色码不工作:

[color "status"]
changed = "33[38;5;214m" normal

我得到一个错误:

fatal: bad config line 31 in file .gitconfig

我尝试使用十六进制代码,但这也不起作用:

[color "status"]
changed = "#d70000" normal

我怀疑#被解释为评论。

git版本是2.20.1

如果您想使用256色代码,您可以使用从0到255的正常数字。例如,在我的.gitconfig中,有这些条目:

[color.diff]
new = 34
old = 203

您不希望在文件中放置一个实际的转义序列。Git知道如何接受一个数值并发出适当的ANSI转义序列。但是,它不处理特定于终端的功能或使用terminfo,因此,如果您的终端不支持标准的ANSI序列,那么它将无法与Git一起工作。

第一,"在配置

中不支持
changed = #d70000 normal

第二,您的终端必须支持它。例如,在Windows的CMD中,这将不起作用。

我没有设法包括Ansi转义码。

来自文档(https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration):

)

可以设置颜色为以下任意值:normal,black,red,green,yellow,blue,magenta,cyan,white。如果你想要一个像前面例子中的粗体一样的属性,你可以从bolddimul(下划线)、blinkreverse(交换前景和背景)中选择。

所以你只有一个有限的选择,OTOH在终端上有几个颜色是好的(你可以改变每种颜色,例如日光调色板,但为了可用性,越少越好)。

注意:使用名称是好的:git会找到并"外包";根据选择的终端生成正确的转义序列。

相关内容

  • 没有找到相关文章

最新更新