Appearance
HTS set tab stop (ESC H)
ESC HHTS (Horizontal Tab Set) sets a tab stop at the current cursor column. The sequence is
ESC H. After setting a custom tab stop, subsequent HT (tab) characters will stop at that column. HTS works in conjunction with TBC (Tab Clear) to allow applications to define custom tab layouts. Default tab stops are every 8 columns, but HTS allows finer control for columnar data alignment.How this is tested: Clear all tab stops with
\x1b[3g, position cursor at column 5 and send \x1bH (HTS), return to column 0 and send a tab — verify cursor advances to column 5.Supported by 3 of 14 backends (21%)
Terminal Applications
| Terminal | Version | Support | Notes |
|---|---|---|---|
| iTerm2 | 3.6.9 | ? unknown | |
| Ghostty | 1.3.1 | ? unknown | |
| Kitty | 0.46.2 | ? unknown | |
| VS Code | 1.113.0 | ? unknown | |
| Warp | 0.2026.03.18.08.24.03 | ? unknown | |
| Cursor | 2.6.21 | ? unknown | |
| Terminal.app | 2.15 | ? unknown |
Headless Backends
Parser correctness only — a ✓ means the parser accepts the sequence.
| Backend | Version | Support | Notes |
|---|---|---|---|
| Alacritty | 0.26.0 | ✓ yes | |
| WezTerm | 0.1.0-fork.5 | ✓ yes | |
| xterm.js | 5.5.0 | ✓ yes | |
| vt100.js | 0.2.1 | ✗ no | Tab stop manipulation not implemented in vt100.js |
| vterm | 0.2.0 | ✗ no | Tab stop manipulation not implemented in vterm.js |