跳到主要内容
ansicode

TBC — 清除制表位(CSI g)

清除一个或全部 tab 停位,改变 HT 和 CBT 的落点。

字节形式

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

\\x1b[\x1b[g (clear current) \x1b[3g (clear all)
\\033[\033[g / \033[3g
\\e[\e[g / \e[3g
ESC [ESC [ Ps g
hex1b 5b <Ps> 67

说明

Tabulation Clear。末字节 `g`(0x67);参数控制范围:`0`(默认,省略时同)= 清除当前列上的 tab 停位,`3` = 清除全部 tab 停位。配合 HTS(`\x1bH`,ESC H)—— 在当前列设置 tab 停位。默认每 8 列一个 tab 停位;一旦 `\x1b[3g` 全部清除,`\t`(HT)将无任何效果,直到你重新设置。对 `column`、`pr`、`expand` 的表格输出、表单式 TUI、以及任何用 `\t` 排版的程序意义重大 —— 清掉默认 8 列网格,再按字段边界放置 HTS 停位。

规范出处: ECMA-48 §8.3.154 (TBC)

参数

0清除当前列上的 tab 停位
3清除所有 tab 停位

示例

bash
printf '\033[3g'      # clear all tab stops\nprintf '\033H'        # set a tab stop here (HTS, ESC H)
python
import sys; sys.stdout.write('\x1b[3g')
go
fmt.Print("\x1b[3g")
javascript
process.stdout.write('\x1b[3g')
c
printf("\x1b[3g");

终端支持

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)清