我正在尝试使用我的原生XTerm 256调色板为我的Git输出着色。 反正有没有这样做?我似乎无法让它发挥作用。
例如.gitconfig
。
[color]
ui = auto
[color 'branch']
local = colour33
remote = colour46
current = colour27
等。
我知道当您指定各种基本颜色术语时,此格式化工作;青色,品红色,黄色和属性;昏暗,明亮,ul,粗体等
但是我找不到任何关于使用256color终端可用的全彩色调色板,而没有实际更改实际托盘中的8个基本颜色条件。
我也找不到文档或联机帮助页中的任何内容
我知道不同的程序似乎使用不同的语法来指定颜色,所以我可能只是使用了错误的语法,或者我是唯一一个曾经想要做这样的事情的人。
我假设git-config
只会根据git-config
手册页的内容支持那些具有各种属性的基本8种颜色,所以如果这是不可能的,有没有办法改变这些颜色,在终端调色板中只能用于一个程序,就像在这种情况下,Git?也许perl脚本仅在git-config
引用它们时导出这些值,但在git-config
完成后立即取消它们?
这并不比它的价值太麻烦。我喜欢我在终端中的eyecandy,如果我能找出解释类似内容的资源,我会自己做。
答案 0 :(得分:7)
颜色的语法是:[fg [bg]] [attr]...
对于颜色,您可以使用命名的(正常,黑色,红色,绿色,黄色,蓝色,品红色,青色和白色)或只是一个数字256个调色板中的颜色>没有任何前缀。
支持的属性包括:粗体,暗淡,ul,闪烁和反转。
所以你的配置看起来像这样(用git 1.8.5.3测试):
[color "branch"]
local = 33
remote = 46
current = 27
我已查看git source code以找到答案。
答案 1 :(得分:4)
请注意:
docs:描述ANSI 256色模式
我们的颜色规格多年来一直支持256色ANSI扩展,但我们从未记录过它。
git config
man page现在包括:
颜色(前景和背景)也可以作为0到255之间的数字给出;
这些使用ANSI 256-color mode(但请注意,并非所有终端都支持此功能)
peff
):
git config --get-color some.key -1
”大多数git-config的命令行选项使用
OPT_BIT
来选择一个动作,然后以依赖于上下文的方式解析非选项参数。但是,--get-color
和--get-colorbool
与其他选项不同,因为它们是OPT_STRING
,将选项名称作为参数。这通常有效,因为我们然后使用这些字符串的存在来设置动作位。但它确实意味着选项解析器将继续在键之后查找选项(因为它不是非选项;它是选项的参数)。跑步:
git config --get-color some.key -1
(使用“
-1
”作为默认颜色规格)barf,声称“-1
”不是一个选项。
相反,我们应该将--get-color
和--get-colorbool
视为操作位,就像--add
,--get
和所有其他操作一样,然后检查我们的非选项参数得到了理智 这修复了上面的怪异,并使这两个选项像所有其他选项一样。This "fixes" a test in
t/t4026-color.sh
,检查将“-2
”作为颜色投放失败(确实失败了,但在此补丁之前,因为parseopt
禁止了,不是因为我们实际上曾尝试解析颜色。)这也会捕获其他错误,例如:
git config --get-color some.key black blue
以前默默地忽略了“
blue
”(现在会抱怨你提供了太多参数)。但有一些可能的回归 我们现在不允许这些,目前正在做你期望的事情:
# specifying other options after the action
git config --get-color some.key --file whatever
# using long-arg syntax
git config --get-color=some.key
如果256种颜色不够,可以导入更多颜色 见commit 17a4be2(Git 2。3。0,2015年第1季度)
parse_color
:支持24位RGB值某些终端(如XTerm)使用常规ANSI颜色方案的扩展,允许完整的24位RGB颜色规格。 让我们允许用户指定十六进制RGB颜色,启用粉红色参考装饰的最重要功能:
git log --format="%h%C(#ff69b4)%d%C(reset) %s"