A multi-line paste near the bottom of the screen left its later lines below the viewport — adjust_scroll only kept the caret's (first) pasted line visible. Add reveal(), which scrolls the end of the pasted block into view while the caret stays on its first line (vim semantics unchanged).