通过 Windows 终端中的脚本设置 git bash 配色方案
Posted
技术标签:
【中文标题】通过 Windows 终端中的脚本设置 git bash 配色方案【英文标题】:Set git bash color scheme via script in Windows Terminal 【发布时间】:2020-10-06 21:26:31 【问题描述】:为了设置我的终端主题,我通常使用打印 ANSI 控制序列的脚本。例如,
echo -e "\033]11;rgb:20/20/30\033\\"
将背景颜色设置为 RBG #202030。这适用于 git-bash+mintty,它适用于 WSL+Windows 终端。不幸的是,它不适用于 git-bash+Windows 终端。相反,它只是输出一个\
,而不改变配色方案。
有人有解决此问题的想法吗?
我尝试过的几件事:
尝试输出彩色文本,例如echo -e "\033[44m\033[37m Test \033[0m"
。这很好用。
检查 $TERM 环境变量。它等于xterm-256color
,就像在 WSL 中一样(有效)。
如果重要的话,这是我在 Windows 终端中用来启动 git bash 的命令设置:
"commandline": "C:/Program Files/Git/usr/bin/bash.exe -i -l",
【问题讨论】:
【参考方案1】:您的问题似乎是您所在环境的本地问题。确保您使用的是最新版本的 Windows 终端和 git bash,并可能重新安装它们。我是一个正在运行的 Windows 终端 1.0.1401.0 和 git bash 安装程序 2.27.0(安装时没有修改 PATH 也没有过期设置),我可以使用以下命令在 Windows 终端中更改终端的背景:echo -e "\033]11;rgb:20/20/30\033\\
。
【讨论】:
谢谢@apena!升级到 git 2.27.0(我相信从 2.1x)解决了这个问题 :)【参考方案2】:我建议在 settings.json
中为 Windows 终端使用自定义配色方案,因为它具有持久性并且可以使用十六进制颜色代码完全自定义。
在 settings.json 中:
-
在
"commandline": "C:/Program Files/Git/usr/bin/bash.exe -i -l",
行之后添加一个新属性:"colorScheme": "Nicks",
。如果它是对象中的最后一个属性,则删除逗号。
在整个 profiles
属性之后添加一个 schemes
属性,其对象如下所示:
"schemes": [
"name" : "Nicks",
"background" : "#202030",
"black" : "#282C34",
"blue" : "#61AFEF",
"brightBlack" : "#7FB323",
"brightBlue" : "#00AFEF",
"brightCyan" : "#56B6C2",
"brightGreen" : "#AAD76F",
"brightPurple" : "#CEE066",
"brightRed" : "#FC7474",
"brightWhite" : "#DCE4DF",
"brightYellow" : "#22F901",
"cyan" : "#70E8F8",
"foreground" : "#CAE0AC",
"green" : "#6A8854",
"purple" : "#C678DD",
"red" : "#FB4242",
"white" : "#DCDFE4",
"yellow" : "#E5C07B"
],
如果schemes
是对象中的最后一个属性,则删除逗号。
保存文件,更改应立即生效,无需重新加载 shell。
【讨论】:
谢谢@apena。我意识到我可以在 Windows 终端设置中设置主题,但我更喜欢使用主题 shell 脚本(如原始问题中所述),因为它们独立于正在使用的特定终端模拟器,因此更便携。它们适用于任何支持 ANSI 控制序列的终端仿真器。 Windows Terminal 显然有这样的支持(因为它可以与 WSL 一起使用),但是 git-bash 和 Windows Terminal 的组合存在一些问题。 感谢您的澄清。为了帮助您解决此问题,我安装了 git bash 2.27.0 并在 Windows 终端(版本:1.0.1401.0)中为其创建了配置文件,在选项卡中打开了 git bash,我可以使用以下命令更改背景:@ 987654328@。因此,您的问题最可能是您特定环境的本地问题。以上是关于通过 Windows 终端中的脚本设置 git bash 配色方案的主要内容,如果未能解决你的问题,请参考以下文章
Windows 终端中的 Git Bash 在单独的窗口中打开