CBT — 光标反向制表(CSI Z)
将光标回退 N 个 tab 停位 —— 与按 Tab 键方向相反。
字节形式
涵盖所有常见的字符串字面量写法,方便正反查找。
\\x1b[
\x1b[NZ\\033[
\033[1Z\\e[
\e[1ZESC [
ESC [ N Zhex
1b 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)
示例
printf 'a\tb\tc\033[2Z|' # cursor jumps back 2 tab stops, then writes |import sys; sys.stdout.write('\x1b[2Z')fmt.Print("\x1b[2Z")process.stdout.write('\x1b[2Z')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
- 不支持
| xterm | Linux console (fbcon) | macOS Terminal.app | iTerm2 | Windows Terminal | cmd.exe / ConPTY | kitty | alacritty | WezTerm | Ghostty | GNOME Terminal | Konsole | tmux | GNU screen |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 支持 | 支持 | 支持 | 支持 | 支持 | 部分 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |