答案1
传统上,图形终端仿真器提供 16 种颜色(8 种及其明亮的对应色),此外还有默认的前景色和背景色。大多数应用程序都会选择这些颜色,并且这些颜色的确切 RGB 值可以在显示的对话框中配置。
后来,它被扩展为 256 色调色板(相同的 16 + 240 个新调色板(6*6*6 色立方体和 24 个灰度值))。这些也是可配置的,但不是通过 Terminator 的图形设置。您可以使用 OSC 4 转义序列更改这些值,例如echo -ne '\e]4;16;#123456\e\\'
将调色板索引 16 设置为 RGB #123456。通过echo -e '\e[38:5:16mtest\e[m'
此颜色打印“测试”来验证。对于旧值,索引从 0 到 15,对于扩展值,索引从 16 到 255。(另请注意,OSC 4 对已使用此调色板索引打印的文本具有追溯效果,也就是说,新发布的具有另一个 RGB 值的 OSC 4 会重新着色之前打印的“测试”。)
但实际上,这 240 种新颜色通常不会重新配置,并且在大多数终端仿真器中具有完全相同的 RGB 值。重新定义它们可能不是最好的方法。
很有可能您的编辑器(或您截取该屏幕截图的地方)的语法突出显示使用了这些扩展颜色,这就是您获得浅绿色的原因。除了重新配置 256 色调色板外,另一种方法是修改语法突出显示以使用不同的颜色,或避免使用扩展调色板。对于后者,导出TERM=xterm
而不是导出TERM=xterm-256color
可能是一种解决方法,因为它声称终端仅支持 8/16 种颜色而不是 256 种颜色,并且您的编辑器可能会选择不使用扩展颜色的其他配色方案。
一些终端(包括 Terminator)也支持直接真彩色。如果您的文本编辑器使用直接 RGB 值(不参考 256 种调色板颜色之一)切换为浅绿色,则除了更改编辑器配置中的实际 RGB 值外,没有其他方法可以更改它。