跳到主要内容
ansicode

DECSTR — 软终端重置

将 DEC 私有模式与 SGR 重置为默认,但不清屏,也不清回滚缓冲。

字节形式

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

\\x1b[\x1b[!p
\\033[\033[!p
\\e[\e[!p
ESC [ESC [ ! p
hex1b 5b 21 70

说明

DEC 软终端重置。标准 CSI 序列,末字节 `p`(0x70)前有一个中间字节 `!`(0x21)。会重置:SGR(颜色与属性)、自动换行(`?7`)、插入/替换模式、滚动区域(DECSTBM)、键盘模式、字符集。不清屏、不清回滚、也不影响备用屏幕状态 —— 因此在 TUI 崩溃未恢复 SGR / 自动换行 / 光标状态、但你又想保留回滚历史时,是更安全的恢复方式。对比 RIS(`\x1bc`)—— 硬重置且会清掉回滚。

规范出处: xterm-ctlseqs (DECSTR, CSI ! p)

示例

bash
printf '\033[!p'   # soft reset; scrollback preserved
python
import sys; sys.stdout.write('\x1b[!p')
go
fmt.Print("\x1b[!p")
javascript
process.stdout.write('\x1b[!p')
c
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
不支持

相关序列

在家族食谱中

ESC 食谱 · 1. 硬复位 vs. 软复位 —— `\x1bc`(RIS)与 `\x1b[!p`(DECSTR)