TBC — 清除制表位(CSI g)
清除一个或全部 tab 停位,改变 HT 和 CBT 的落点。
字节形式
涵盖所有常见的字符串字面量写法,方便正反查找。
\\x1b[
\x1b[g (clear current) \x1b[3g (clear all)\\033[
\033[g / \033[3g\\e[
\e[g / \e[3gESC [
ESC [ Ps ghex
1b 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 停位 |
示例
printf '\033[3g' # clear all tab stops\nprintf '\033H' # set a tab stop here (HTS, ESC H)import sys; sys.stdout.write('\x1b[3g')fmt.Print("\x1b[3g")process.stdout.write('\x1b[3g')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
- 不支持
| xterm | Linux console (fbcon) | macOS Terminal.app | iTerm2 | Windows Terminal | cmd.exe / ConPTY | kitty | alacritty | WezTerm | Ghostty | GNOME Terminal | Konsole | tmux | GNU screen |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 支持 | 支持 | 支持 | 支持 | 支持 | 部分 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |