DECSTR — 软终端重置
将 DEC 私有模式与 SGR 重置为默认,但不清屏,也不清回滚缓冲。
字节形式
涵盖所有常见的字符串字面量写法,方便正反查找。
\\x1b[
\x1b[!p\\033[
\033[!p\\e[
\e[!pESC [
ESC [ ! phex
1b 5b 21 70说明
DEC 软终端重置。标准 CSI 序列,末字节 `p`(0x70)前有一个中间字节 `!`(0x21)。会重置:SGR(颜色与属性)、自动换行(`?7`)、插入/替换模式、滚动区域(DECSTBM)、键盘模式、字符集。不清屏、不清回滚、也不影响备用屏幕状态 —— 因此在 TUI 崩溃未恢复 SGR / 自动换行 / 光标状态、但你又想保留回滚历史时,是更安全的恢复方式。对比 RIS(`\x1bc`)—— 硬重置且会清掉回滚。
规范出处: xterm-ctlseqs (DECSTR, CSI ! p)
示例
printf '\033[!p' # soft reset; scrollback preservedimport sys; sys.stdout.write('\x1b[!p')fmt.Print("\x1b[!p")process.stdout.write('\x1b[!p')printf("\x1b[!p");终端支持
- 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 支持 | 支持 | 支持 | 支持 | 支持 | 部分 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |