跳到主要内容
ansicode

OSC 17 — 设置高亮(选区)背景色

修改终端在选中(高亮)文字后面绘制的背景色。

字节形式

涵盖所有常见的字符串字面量写法,方便正反查找。

\\x1b[\x1b]17;#RRGGBB\x07 (set) \x1b]17;?\x07 (query)
\\033[\033]17;#RRGGBB\007
\\e[\e]17;#RRGGBB\a
ESC [ESC ] 17 ; COLOR BEL
hex1b 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)

示例

bash
printf '\033]17;#45475a\007'   # set selection bg\nprintf '\033]17;?\007'         # query
python
import sys; sys.stdout.write('\x1b]17;#45475a\x07')
go
fmt.Print("\x1b]17;#45475a\x07")
javascript
process.stdout.write('\x1b]17;#45475a\x07')
c
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
不支持

相关序列