OSC 110 / 111 / 112 — 重置默认前景 / 背景 / 光标颜色
在 OSC 10 / 11 / 12 修改后,把终端的默认前景、背景或光标色恢复为用户设置。
字节形式
涵盖所有常见的字符串字面量写法,方便正反查找。
\\x1b[
\x1b]110\x07 (reset fg) \x1b]111\x07 (reset bg) \x1b]112\x07 (reset cursor)\\033[
\033]110\007 / \033]111\007 / \033]112\007\\e[
\e]110\a / \e]111\a / \e]112\aESC [
ESC ] N BELhex
1b 5d 31 31 30 / 31 31 31 / 31 31 32 07说明
OSC 10 / 11 / 12(设置 fg / bg / 光标色)的重置伙伴。无负载发送其中一条,会把对应值恢复为用户在终端偏好中的设置 —— 比猜应该传什么给 OSC 10/11/12 才能撤销修改要友好得多。短暂改写默认色的程序(主题切换器、演示、需要捕获干净基线的录屏工具)退出时都应发送对应的 `11X`。OSC 112 是 xterm 特有(针对光标),iTerm2 亦支持。发送 `\x1b]110\x07` 等价于「发 `\x1b]10;?\x07` 查询后再重发原值」,但省掉一次往返。
规范出处: xterm-ctlseqs (OSC 110 / 111 / 112)
示例
printf '\033]11;#000000\007' # override bg to pure black\n# … later …\nprintf '\033]111\007' # restore user default bgimport sys; sys.stdout.write('\x1b]111\x07')fmt.Print("\x1b]111\x07")process.stdout.write('\x1b]111\x07')printf("\x1b]111\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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 支持 | 不支持 | 部分 | 支持 | 支持 | 不支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |