如何将 ANSI RGB 颜色代码设为粗体?

如何将 ANSI RGB 颜色代码设为粗体?

我一直在学习如何用颜色自定义提示。我知道你可以定义红色文本

\e[0;31m

并定义 RGB 颜色(在以下示例中,R=255,G=95,B=255)为

\e[38;2;255;95;255m

要使第一个命令变为粗体,您只需将 0 更改为 1:

\e[1;31m

但是如何使 RGB 命令变为粗体呢?

答案1

您可以将两者结合起来:

printf %b == '\e[1m' '\e[38;2;255;95;255m' FOO '\e[m' == '\n'

第一个设置粗体属性,第二个设置颜色。

您应该检查您的终端模拟器是否真正支持粗体字符(并且没有使用彩色/反向视频来模拟它们,或者只是在某些模式下忽略它们,例如linux vt),如果它被禁用,则启用它。大多数在 X11 下工作的终端仿真器不需要额外的配置。

例如。因为如果它以某种方式被禁用,xterm您可能必须进行设置*colorBDMode: false.Xresources斜体和下划线字符也是如此:*colorITMode: false, *colorBLMode: false

答案2

大胆的是与字符相关的视频属性,通常是较粗的线条,但在某些设备中使用明亮的颜色(强度的变化)来模仿。

RGB已经给出了颜色强度,所以最多你会发现一些终端做了一些事情,比如稍微改变一下级别——但在不同的终端中你没有什么可以指望的。

相关内容