Appearance
Insert characters (ICH)
ESC [ N @ICH inserts N blank characters at the cursor position, shifting existing characters to the right. The sequence is
ESC [ N @ (default N=1). Characters pushed past the right margin are lost. Used by editors (vim, emacs) and terminal multiplexers (tmux, screen) for inline text insertion without redrawing the entire line.How this is testedautomated
Write "ABCDE", move to col 1, send
Write "ABCDE", move to col 1, send
\x1b[2@ (ICH 2), verify 2 blanks inserted and "A" shifted to col 2.The same probe runs against headless backends (via Termless) and real terminal apps (via a daemon launched in each terminal). This lets us distinguish parser correctness from rendering correctness.
Analysis2026-04-06
Supported by 11 of 12 terminals (92%). Not supported by: vt100.js. Part of the Modern TUI baseline. Notes: vt100.js: ICH (insert characters) not implemented in vt100.js baseline emulator.
Supported by 13 of 14 backends (93%)
Terminal Applications
| Terminal | Version | Support | Notes |
|---|---|---|---|
| iTerm2 | 3.6.9 | ✓ yes | |
| Ghostty | 1.3.1 | ✓ yes | |
| VS Code | ✓ yes | ||
| Warp | ✓ yes | ||
| Cursor | ✓ yes | ||
| Terminal.app | ✓ yes |