OSC 17 — 设置高亮(选区)背景色
修改终端在选中(高亮)文字后面绘制的背景色。
字节形式
涵盖所有常见的字符串字面量写法,方便正反查找。
\\x1b[
\x1b]17;#RRGGBB\x07 (set) \x1b]17;?\x07 (query)\\033[
\033]17;#RRGGBB\007\\e[
\e]17;#RRGGBB\aESC [
ESC ] 17 ; COLOR BELhex
1b 5d 31 37 3b ... 07说明
OSC 17 设置终端中选中(鼠标高亮)文字所用的背景色 —— 即点击拖拽选区时看到的色带。颜色语法与 OSC 10 / 11 / 12 相同:`#RRGGBB`、`#RGB`、`rgb:RRRR/GGGG/BBBB`、X11 颜色名。发送 `?` 查询当前值(终端回报 `\x1b]17;rgb:...\x07`)。历史上为 xterm 专有(与 OSC 19 高亮前景色配对);现代终端大多只通过配置文件或主题引擎暴露选区颜色,会忽略运行时 OSC。配对的复位为 `\x1b]117\x07`,恢复用户配置的高亮背景。注意:前景色伙伴是 OSC 19 而非 OSC 18 —— OSC 18 留给 Tek 模拟器光标色,已废弃。
规范出处: xterm-ctlseqs (OSC 17 / 117)
示例
printf '\033]17;#45475a\007' # set selection bg\nprintf '\033]17;?\007' # queryimport sys; sys.stdout.write('\x1b]17;#45475a\x07')fmt.Print("\x1b]17;#45475a\x07")process.stdout.write('\x1b]17;#45475a\x07')printf("\x1b]17;#45475a\x07");终端支持
- 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 部分 | 不支持 | 部分 | 部分 | 不支持 | 不支持 |