跳到主要内容
ansicode

HTS — 水平制表位设置(ESC H)

在当前光标列设置一个 tab 停位 —— 与 TBC 互为伙伴。

字节形式

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

\\x1b[\x1bH
\\033[\033H
\\e[\eH
ESC [ESC H
hex1b 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)

示例

bash
printf '\033[3g'                # clear all\nprintf '\033[10G\033H\033[20G\033H'   # set tab stops at cols 10 and 20
python
import sys; sys.stdout.write('\x1bH')
go
fmt.Print("\x1bH")
javascript
process.stdout.write('\x1bH')
c
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
不支持

相关序列

在家族食谱中

ESC 食谱 · 2. 制表位 —— `\x1bH`(HTS)设、`\x1b[g`(TBC)清