Skip to content

DECCRA — copy rectangular area

Category: editing · Baseline: legacy · Tags: VT510 · Specification ↗

CSI Pts ; Pls ; Pbs ; Prs ; Pps ; Ptd ; Pld $ v
DECCRA (CSI Pts ; Pls ; Pbs ; Prs ; Pps ; Ptd ; Pld $ v) copies a rectangular area from one location to another. The source rectangle is Pts;Pls-Pbs;Prs on page Pps; the destination's top-left is Ptd;Pld. The most complex of the VT420 rectangle operations: cells are copied including their SGR attributes, source and destination may overlap (the result is as if the source were captured first), and the operation can cross page boundaries on terminals that implement multi-page memory. xterm implements all of this. Almost nothing else does.
How this is testedautomated
Write text in a region, send \x1b[1;1;2;5;1;5;10$v (copy rows 1-2 cols 1-5 to row 5 col 10), verify the sequence is consumed.

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 all 9 tested terminals — universal adoption. Part of the Unicode baseline.

Supported by 8 of 14 backends (57%)

Terminal Applications

TerminalVersionSupportNotes
iTerm23.6.9✓ yessequence consumed
Ghostty1.3.1✓ yessequence consumed
VS Code✓ yes
Warp✓ yes
Cursor✓ yes
Terminal.app✓ yes

Headless Backends

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

BackendVersionSupportNotes
Alacritty0.26.0✗ noVT420 rectangular area operations not implemented — legacy DEC features omitted by most modern terminals
Kitty0.40.0✗ noVT420 rectangular area operations not implemented — legacy DEC features omitted by most modern terminals
vt100.js0.2.1✗ noVT420 rectangular area operations not implemented — legacy DEC features omitted by most modern terminals
vterm0.2.0✗ noVT420 rectangular area operations not implemented — legacy DEC features omitted by most modern terminals
WezTerm0.1.0-fork.5✗ noVT420 rectangular area operations not implemented — legacy DEC features omitted by most modern terminals
xterm.js5.5.0✗ noVT420 rectangular area operations not implemented — legacy DEC features omitted by most modern terminals