如何在Windows的Git Bash中更改RGB颜色?

时间:2014-01-20 20:08:16

标签: windows git shell msysgit

我在Windows中使用Git Bash,并且出于自定义git log格式的目的,我想修改终端的确切RGB颜色值,以便我可以微调颜色输出。我的全局.gitconfig中的git日志格式如下:

lg1 = log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset)%x09%C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset) %C(dim white)%an%C(reset) - %C(white)%s%C(reset)' --branches --remotes --tags

我想在Git Bash中定义RGB值实际上映射到'蓝色',例如。知道我怎么能这样做吗?一步一步的说明会很精彩。提前谢谢。

修改

我设置了我的.bashrc,但由于某种原因它无法正常工作。颜色没有变化:-(。这是我用来查看颜色的脚本:http://pastebin.com/9EsYmGCj和结果:http://i.imgur.com/1dJ3o1a.png

9 个答案:

答案 0 :(得分:37)

这适用于我在Windows 7上更改Git Bash使用的文本颜色:

  • 点击打开的Git Bash窗口的左上角(窗口框架中的Git图标)。
  • 出现一个菜单(与常规DOS cmd窗口一样)。选择最后一个条目:“属性”
  • 转到“颜色”标签
  • 选择单选按钮“屏幕文字”
  • 请记住当前哪个颜色分配给小颜色框行中的“屏幕文字”(它有一个黑框)。
  • 然后通过单击相应的颜色框选择要更改的颜色。此颜色现在被指定为“屏幕文本”,这是Git Bash用于常规文本的内容。但不要担心,这种变化只是暂时的,需要修改颜色的值。
  • 现在更改所选颜色的红色/绿色/蓝色值。就我而言,我想让左边的第五种颜色变得更亮。我们称之为“颜色5”。这是Git Bash用来显示带有“git status”的已更改文件的颜色。每当Git Bash想要使用“Color 5”时,它将使用新的RGB值。
  • “屏幕文字”现在仍设置为“颜色5”。因此,请单击您记住的原始颜色。

以这种方式进行的更改是永久性的,但仅对您用于启动Git Bash的快捷方式有效。如果您创建一个新的快捷方式,您将恢复原始颜色。

答案 1 :(得分:12)

如果您使用git-bash命令提示符,请检查您是否有以下文件:%USERPROFILE%\ .minletyrc
在该文件中,您可以通过以下方式微调控制台颜色的RGB值:

BoldBlack=128,128,128
Red=255,64,40
BoldRed=255,128,64
Green=64,200,64
BoldGreen=64,255,64
Yellow=190,190,0
BoldYellow=255,255,64
Blue=0,128,255
BoldBlue=128,160,255
Magenta=200,64,255
BoldMagenta=255,128,255
Cyan=64,190,190
BoldCyan=128,255,255
White=200,200,200
BoldWhite=255,255,255

答案 2 :(得分:10)

对于那些来到这里获得实际原始问题答案的人来说,答案是在下面添加以下行:

C:\Program Files\Git\etc\profile.d\git-prompt.sh
LS_COLORS=$LS_COLORS:'di=1;30:' ; export LS_COLORS

您可以从这些颜色中选择。

Black       0;30     Dark Gray     1;30
Blue        0;34     Light Blue    1;34
Green       0;32     Light Green   1;32
Cyan        0;36     Light Cyan    1;36
Red         0;31     Light Red     1;31
Purple      0;35     Light Purple  1;35
Brown       0;33     Yellow        1;33
Light Gray  0;37     White         1;37

答案 3 :(得分:6)

使用MSYSGIT时,Git Bash在Windows命令提示符下运行。因此,它使用为终端定义的颜色。由于Git Bash是一个始终运行的命令,因此您可以在命令提示符属性中设置其颜色,而不是默认值

有关更改终端颜色的说明,请参阅:https://superuser.com/questions/199764/how-to-change-the-default-color-of-the-command-prompt


注意:我发现命令提示符的颜色选项很难配置,因为它们在编辑时经常更改/重置。诀窍似乎是在编辑后从输入框中跳出标签。

答案 4 :(得分:3)

由于这些颜色名称与ANSI escape codes相关联(正如我在previous answer中所述),您可以尝试this issue中描述的方法:

  

只需将这些添加到.bashrc

即可
echo -ne "\e]4;4;#007fff\a"  # 4;4 is Dark Blue #005FFF

(选择一个对color blue来说更具可读性的rbg值,或从this palette中选择)

答案 5 :(得分:3)

为什么这么复杂? Git bash使用可在注册表中调整的默认Windows控制台颜色。例如。为了提高可读性,可以通过应用如下所示的更改将深红色和深色洋红色更改为更轻的版本:

Windows Registry Editor Version 5.00
; Default color scheme
; for Windows command prompt.

; Values stored as 00-BB-GG-RR
[HKEY_CURRENT_USER\Console]
; BLACK DGRAY
"ColorTable00"=dword:00000000
"ColorTable08"=dword:00808080
; BLUE LBLUE
"ColorTable01"=dword:00800000
"ColorTable09"=dword:00ff0000
; GREEN LGREEN
"ColorTable02"=dword:00008000
"ColorTable10"=dword:0000ff00
; CYAN LCYAN
"ColorTable03"=dword:00808000
"ColorTable11"=dword:00ffff00
; RED LRED --> To increase readability, use e.g. 000000aa for "ColorTable04"
"ColorTable04"=dword:00000080
"ColorTable12"=dword:000000ff
; MAGENTA LMAGENTA --> To increase readability, use e.g. 00aa00aa for "ColorTable05"
"ColorTable05"=dword:00800080
"ColorTable13"=dword:00ff00ff
; YELLOW LYELLOW
"ColorTable06"=dword:00008080
"ColorTable14"=dword:0000ffff
; LGRAY WHITE
"ColorTable07"=dword:00c0c0c0
"ColorTable15"=dword:00ffffff

答案 6 :(得分:2)

2017年更新 打开Gitbash并单击左上角的图标,然后选择"选项"

从选项菜单中,您可以配置透明度,前景色(文本),背景颜色和光标颜色。非常简单易行。

答案 7 :(得分:0)

要更改Windows控制台颜色,可以使用Microsoft的Colortool:

  

colortool可以使用任何.itermcolors方案。

https://blogs.msdn.microsoft.com/commandline/2017/08/11/introducing-the-windows-console-colortool/

Github上: https://github.com/Microsoft/console/tree/master/tools/ColorTool

答案 8 :(得分:0)

Windows10 + GitBash:警告消息示例


以下示例将打印出带有白色文本的红色背景

原始颜色在打印后已恢复


回显一行消息:

auto p6 = new decltype(static_cast<void(*)()>(nullptr))[n];

带有HARDCODED消息的彩色文本块:

MSG="MY_WARNING_MESSAGE_TEXT" BG="41m" FG="1m"
echo -en "\033[$FG\033[$BG$MSG\033[0m\n"

带有VARIABLE消息的彩色文本块:

BG="41m" FG="1m"
HD_CAT_VAR=$(cat << 'HEREDOC_CAT_VAR_REGION'
+-------------------------------------+
|                                     |
|     HARD_CODED_WARNING_MESSAGE      |
|                                     |
+-------------------------------------+
HEREDOC_CAT_VAR_REGION
)
echo -en "\033[$FG\033[$BG$HD_CAT_VAR\033[0m\n"