Skip to content

Scrollback & Copy

Mouse/trackpad: just scroll over a pane. Apps that enable terminal mouse reporting receive their wheel input; full-screen apps that request alternate scrolling do too. Regular transcripts scroll Luvus’s retained history.

Each pane has a 10 MiB retained-history budget by default. Change it in Settings → Layout → Scrollback memory. Luvus’s Alacritty adapter converts this budget to a conservative row limit at the current pane width, so it protects memory predictably but reports retained bytes as an estimate rather than an exact allocator measurement. Reducing the setting trims existing history immediately; increasing it applies to subsequent output.

Keyboard scroll mode: press Shift+↑ (no prefix needed, so it works even where macOS eats Ctrl+Space). The status bar switches to SCROLL and plain keys navigate without reaching the program in the pane:

KeyAction
19jump through history (1 = oldest, 9 = newest)
j / k (or /)line down / up
f / b (or Space/PageDn/PageUp)page down / up
g / Gtop of history / live bottom
q, Esc, 0, or just typingback to live

While scrolled, a ↑N badge at the pane’s top-right shows how many lines up you are, and anything you type snaps back to live first, so you always see what you’re typing.

Unmodified PageUp and PageDown scroll normal transcript history. When a terminal app has claimed paging input (for example a full-screen TUI or an application-cursor pager), Luvus forwards those keys unchanged. Shift+↑, Shift+PageUp, and prefix scroll shortcuts remain explicit Luvus controls.

Drag across a pane to select. Release auto-copies and flashes a Copied toast. luvus writes both your native OS clipboard (pbcopy / wl-copy / xclip / clip) and OSC 52, so it works locally and over SSH.

For keyboard selection, press Ctrl+Space, then y by default. Change the second key in Settings → Keys → Copy terminal text. Shift-based V input always passes through to the terminal, including inside agent prompts. Copy mode keeps all navigation inside Luvus: use arrows or h/j/k/l for character and line movement, w / B for words, Space / b for pages, and g / G for the oldest / newest retained row. Press v to reset the selection anchor at the cursor. Press y or Enter to copy and return to live output. Press q or Esc to cancel and restore the viewport where copy mode began.