SGR 100–107 — 高亮背景色
8 种基础背景色的高亮变体。
字节形式
涵盖所有常见的字符串字面量写法,方便正反查找。
\x1b[101m (bright red bg, 100–107)\033[101m\e[101mESC [ 1 0 1 m1b 5b 31 30 31 6d实时预览
在浏览器中通过与解码器相同的分词器渲染 —— 无需打开终端。
说明
sgr-bg-basic SGR 40–47 的高亮背景版本,与 SGR 90–97 亮前景家族平行。1:1 映射 —— 100 亮黑、101 亮红、102 亮绿、103 亮黄、104 亮蓝、105 亮品红、106 亮青、107 亮白。100–107 范围与 90–97 同源于 IBM 的 aixterm,记录于 xterm-ctlseqs 作为规范扩展;ECMA-48 本身仅保留 SGR 40–47 + 48 + 49。上面矩阵中的每个终端都支持,包括 Linux console / fbcon 和 ConPTY,使其成为「跳出基础 8 色但又不落入 sgr-bg-256 索引调色板」的最佳便携选择。
亮色背景多用于状态行高亮、选中线索与严重级徽标(\x1b[97;101m FAIL \x1b[0m 在 CI 输出中实现「白字 + 亮红底」的错误标签)。与亮前景同样存在主题覆盖:实际 RGB 取决于用户的配色,定制配置下你发出的「亮红」可能呈深品红或柔粉。对色值精度有要求的徽标(状态指示、品牌色)应优先使用 sgr-bg-truecolor(\x1b[48;2;220;0;0m)—— 真彩色路径绕开用户调色板。与前景不同,SGR 1(sgr-bold)在任何现代终端上都不影响背景色,因此困扰 SGR 30–37 的 bold-as-bright 怪癖在背景家族中没有对应物。
仅关闭背景用 \x1b[49m(SGR default-bg)—— 精准,不动前景和其他属性。整体重置用 \x1b[0m。表格输出的常见做法是行级交替背景:偶数行发 \x1b[100m(亮黑 / 暗灰底),行末换行前发 \x1b[49m —— 形成的「斑马纹」表格在任意基底配色下都易读。对应的 terminfo 展开(xterm-256color 上)是 tput setab 9 到 tput setab 15,便于偏好 cap 名而非裸转义的可移植脚本使用。
规范出处: aixterm color extension
示例
for c in 100 101 102 103 104 105 106 107; do printf "\033[${c}m \033[0m"; done; echofor c in range(100, 108): print(f'\x1b[{c}m \x1b[0m', end='')for c := 100; c <= 107; c++ { fmt.Printf("\x1b[%dm \x1b[0m", c) }for (let c = 100; c <= 107; c++) process.stdout.write(`\x1b[${c}m \x1b[0m`)for (int c = 100; c <= 107; c++) printf("\x1b[%dm \x1b[0m", c);在哪里用到
实际会发出该序列的工具——把抽象字节锚定到你已经用过的命令上。
- delta深色主题对比度不够时,对增/删行槽位使用亮色背景
- fzf可配置 --color=bg+:*——很多用户把当前行背景设为亮色
- ranger, mc (Midnight Commander)选中行的背景色
- vim, neovim Visual mode highlight on legacy 16-colour terminals
- htop, btop column-header backgrounds
常见问题
针对这条序列,开发者真正会去搜索的问题的简短回答。
\x1b[101m和\x1b[41;1m是一回事吗?- 不一样。SGR 100–107 是 aixterm 标准的背景槽位,直接指向调色板索引 8–15;SGR 1(
bold)是字重属性,部分终端在前景通道下顺便把颜色变亮 —— 但这条副作用从未在背景通道标准化。所以\x1b[41;1m几乎所有地方都渲染为「普通红底上的粗体文字」,不是亮红底。要取调色板槽位 9 请写\x1b[101m(aixterm),或用\x1b[48;2;r;g;bm取真彩色保证 RGB —— 见sgr-bg-256与sgr-bg-truecolor。 - 为什么 CI 日志里
\x1b[101m和\x1b[41m看起来一样? - 你的 CI 日志查看器(GitHub Actions、GitLab、Buildkite)降级到了 8 色 ANSI 渲染器,不识别 100–107 并把高亮位当作空操作 —— 回退到槽位 1(普通红)。若工具响应环境变量,设
FORCE_COLOR=3或COLORTERM=truecolor;否则改发真彩色\x1b[48;2;255;85;85m(xterm bright-red 等价值),大多数日志渲染器按原始 RGB 处理。不要硬刚渲染器 —— 用它能讲的色彩空间。
终端支持
- xterm
- 支持
- Linux console (fbcon)
- 支持
- macOS Terminal.app
- 支持
- iTerm2
- 支持
- Windows Terminal
- 支持
- cmd.exe / ConPTY
- 支持
- kitty
- 支持
- alacritty
- 支持
- WezTerm
- 支持
- Ghostty
- 支持
- GNOME Terminal
- 支持
- Konsole
- 支持
- tmux
- 支持
- GNU screen
- 支持
| xterm | Linux console (fbcon) | macOS Terminal.app | iTerm2 | Windows Terminal | cmd.exe / ConPTY | kitty | alacritty | WezTerm | Ghostty | GNOME Terminal | Konsole | tmux | GNU screen |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |