Skip to content

Cursor forward (CUF)

Category: cursor · Baseline: core · Tags: ECMA-48 Standard, VT100 · Specification ↗

ESC [ N C
CUF moves the cursor forward (right) by N columns. The sequence is ESC [ N C (default N=1). The cursor stops at the right edge of the screen and does not wrap to the next line. CUF is the relative counterpart to absolute cursor addressing. It is simple, but its edge behavior is important: moving past the right margin clamps instead of wrapping, which lets applications position safely near the edge of a pane. Wrapping is controlled by text output and DECAWM, not by CUF.
How this is testedautomated
Send \x1b[5C (CUF 5), verify cursor column is 5 (0-based).

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-05-17

Supported by all 12 tested terminals — universal adoption. Part of the Core TUI baseline.

Supported by 13 of 14 backends (93%)

Terminal Applications

TerminalVersionSupportNotes
iTerm23.6.9✓ yes
Ghostty1.3.1✓ yes
VS Code✓ yes
Warp✓ yes
Kitty0.46.2✓ yes
Cursor✓ yes
Terminal.app✓ yes

Headless Backends

Parser correctness only — a means the parser accepts the sequence.

BackendVersionSupportNotes
Alacritty0.26.0✓ yes
vt100.js0.2.1✓ yes
vterm.js0.2.0✓ yes
WezTerm0.1.0-fork.5✓ yes
xterm.js5.5.0✓ yes