跳到主要内容
ansicode

DECSET ?12 — 光标闪烁

启用或关闭光标闪烁属性 —— 与光标形状无关。

字节形式

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

\\x1b[\x1b[?12h (start blinking) \x1b[?12l (stop blinking)
\\033[\033[?12h / \033[?12l
\\e[\e[?12h / \e[?12l
ESC [ESC [ ? 1 2 h / l
hex1b 5b 3f 31 32 68 / 6c

说明

切换光标的闪烁属性。与 DECSCUSR(`\x1b[N SP q`)不同 —— 后者把形状与闪烁合并在一个参数中。使用 `?12` 可保留用户偏好的形状(方块 / 竖线 / 下划线)只控制是否闪烁。编辑器常用:普通模式稳定光标、插入模式闪烁,但不动用户选择的形状。配合 DECSCUSR `\x1b[0 q` 或 DECSTR(`\x1b[!p`)恢复终端默认。

规范出处: xterm-ctlseqs (Private mode 12)

示例

bash
printf '\033[?12h'   # start blinking\nprintf '\033[?12l'   # stop blinking
python
import sys; sys.stdout.write('\x1b[?12l')
go
fmt.Print("\x1b[?12l")
javascript
process.stdout.write('\x1b[?12l')
c
printf("\x1b[?12l");

终端支持

xterm
支持
Linux console (fbcon)
部分
macOS Terminal.app
部分
iTerm2
支持
Windows Terminal
支持
cmd.exe / ConPTY
部分
kitty
支持
alacritty
支持
WezTerm
支持
Ghostty
支持
GNOME Terminal
支持
Konsole
支持
tmux
不支持
GNU screen
不支持

相关序列

在家族食谱中

DEC 食谱 · 3. 光标显隐与闪烁 —— `?25`、`?12`