![如何将 ANSI RGB 颜色代码设为粗体?](https://linux22.com/image/141790/%E5%A6%82%E4%BD%95%E5%B0%86%20ANSI%20RGB%20%E9%A2%9C%E8%89%B2%E4%BB%A3%E7%A0%81%E8%AE%BE%E4%B8%BA%E7%B2%97%E4%BD%93%EF%BC%9F.png)
我一直在学习如何用颜色自定义提示。我知道你可以定义红色文本
\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已经给出了颜色强度,所以最多你会发现一些终端做了一些事情,比如稍微改变一下级别——但在不同的终端中你没有什么可以指望的。