0

为了设置我的终端主题,我通常使用打印 ANSI 控制序列的脚本。例如,

echo -e "\033]11;rgb:20/20/30\033\\"

将背景颜色设置为 RBG #202030。这适用于 git-bash+mintty,它适用于 WSL+Windows 终端。不幸的是,它不适用于 git-bash+Windows 终端。相反,它只是输出 a\而不改变配色方案。

有没有人有解决这个问题的想法?

我尝试过的几件事:

  • 尝试输出彩色文本,例如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",
4

2 回答 2

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\\.

于 2020-06-17T16:53:28.837 回答
0

我建议在 Windows 终端中使用自定义配色方案,settings.json因为它是持久的并且可以使用十六进制颜色代码完全自定义。

在 settings.json 中:

  1. 在您的行之后"commandline": "C:/Program Files/Git/usr/bin/bash.exe -i -l",添加一个新属性:"colorScheme": "Nicks",. 如果它是对象中的最后一个属性,则删除逗号。
  2. 在整个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。

于 2020-06-17T06:55:40.103 回答