跳到主要内容
ansicode

CBT — 光标反向制表(CSI Z)

将光标回退 N 个 tab 停位 —— 与按 Tab 键方向相反。

字节形式

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

\\x1b[\x1b[NZ
\\033[\033[1Z
\\e[\e[1Z
ESC [ESC [ N Z
hex1b 5b <N> 5a

说明

Cursor Backward Tabulation。末字节 `Z`(0x5a),将光标按 tab 停位向后回退 N 次(参数省略时默认 1)。它是 CHT(`CSI Ps I`)的镜像,也是 Tab 键(HT,0x09)的反向操作。若光标已在第 1 列或位于最靠前的剩余 tab 停位之前,则不动。默认 tab 停位为每 8 列,除非通过 TBC(`\x1b[Ng`)与 HTS(`\x1bH`)修改过。CBT 极少由手工输入,但对 terminfo 能力 `cbt` 与重放按键的 TUI(如表单字段的 Shift-Tab)有意义。

规范出处: ECMA-48 §8.3.7 (CBT)

示例

bash
printf 'a\tb\tc\033[2Z|'   # cursor jumps back 2 tab stops, then writes |
python
import sys; sys.stdout.write('\x1b[2Z')
go
fmt.Print("\x1b[2Z")
javascript
process.stdout.write('\x1b[2Z')
c
printf("\x1b[2Z");

终端支持

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

相关序列