Terminal Guide

Erase Display Above

ESC1B[5B 131 J4a

Erase the screen from the current cursor position up. The side right of current cursor position on the line of the current cursor position is not erased.

In it's basic variant it will erase protected cells only when the semantics of select character protection attribute are active. When called as selective erase display [dispatch] it will not erase protected cells in either protection semantics.

The current scroll region is ignored by this command.

If the cursor is in the bottom right corner of the screen (ignoring the current scroll region) then this invokes erase display complete.

Erase the left side of the line where the cursor is currently placed starting from (including) the current cursor position, by replacing all cells with spaces.

All lines above the current cursor position are erased, by replacing all cell contents with space. These lines are reset to normal size(i.e. not double height or width).

If the erase splits a multi cell character that character is erased by replacing it with spaces, keeping its current attributes.

The erased space is colored according to the current SGR state.

Resets the wrap heuristics so the lines erased are not considered to be wrapped.

Does not change the cursor position.

This unsets the pending wrap state without wrapping.

urxvt ( ✓ )

🛆 Does not unset pending wrap state.

xterm ( ✓ )

🛆 As of xterm 346 split multi column cells are erased using the current SGR state instead of keeping the background color.

konsole ( ✓ )

🛆 Does not unset the pending wrap state. 🛆 Does not erase split multi cell characters. (sometimes?) 🛆 Since version 21.08.0, reset to normal size is only done if cursor is in the right most column without a pending line wrap.

linuxvc ( ✓ )

🛆 Does not erase split multi cell characters. (linuxvc uses 2 replacement characters for multi cell characters)