HTS — 水平制表位设置(ESC H)
在当前光标列设置一个 tab 停位 —— 与 TBC 互为伙伴。
字节形式
涵盖所有常见的字符串字面量写法,方便正反查找。
\\x1b[
\x1bH\\033[
\033H\\e[
\eHESC [
ESC Hhex
1b 48说明
两字节序列 ESC `H`(无 CSI 引导符、无参数)。在当前光标列设置一个 tab 停位。与 TBC(`\x1b[g` / `\x1b[3g`,清除停位)配对。常用流程:`printf '\033[3g'` 抹掉默认 8 列网格 → 用 HPA / CHA(`\x1b[Nd` / `\x1b[NG`)把光标移到目标列 → 每列发一次 `\x1bH`。此后每个 `\t`(HT,0x09)或 `\x1b[NI`(CHT)都会按自定义布局推进。HTS 的 terminfo 能力名为 `hts`。
规范出处: ECMA-48 §8.3.62 (HTS)
示例
printf '\033[3g' # clear all\nprintf '\033[10G\033H\033[20G\033H' # set tab stops at cols 10 and 20import sys; sys.stdout.write('\x1bH')fmt.Print("\x1bH")process.stdout.write('\x1bH')printf("\x1bH");终端支持
- 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 支持 | 支持 | 支持 | 支持 | 支持 | 部分 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |