Skip to content

Keyboard Shortcuts ​

RustMail's web UI supports vim-style keyboard navigation.

Global ​

These work anywhere in the UI.

KeyAction
jSelect next message
kSelect previous message
dDelete selected message
uBring back the last deleted message
DDelete all messages
sStar or unstar the selected message
/Focus search bar
iOpen or close the message details drawer (windows under 1300px wide)
EscClose the details drawer first; otherwise clear active filters, or close the message detail panel

d leaves the message out of the list straight away, but waits a few seconds before deleting it, so u, or the Undo button on the notice that appears, brings it back. Deleting another message closes the previous one's window, and so does the window running out; after that the message is gone for good. D asks for confirmation instead, because clearing the inbox cannot be undone.

Message list ​

Tab reaches the message list as a single stop; the arrow keys then move within it. Individual rows are not tab stops, so the list stays navigable no matter how many rows are on screen.

While the list has keyboard focus, the selected row carries a rounded accent outline; with no message selected, the outline goes around the whole list. Clicking a row selects it without the outline, so the tinted background alone marks the selection when you use the mouse.

KeyAction
↓Select next message
↑Select previous message
HomeSelect the first message
EndSelect the last loaded message

The inbox loads messages a page at a time, so End lands on the last message fetched so far. Pressing it again after the next page arrives moves further down.

The star toggle on each row is not a tab stop either; use s to star the selected message.

Under the Unread filter the selected message stays in the list even after it has been marked read. Selecting a message marks it read, so without that exception the row you just landed on would vanish and take your place in the list with it. The list shrinks behind you as you move instead. Other filters make no such exception.

Shortcuts are active when no input field is focused, and are ignored when a modifier key is held, so browser chords such as Cmd/Ctrl+D keep their normal behaviour. The one exception is Esc inside the details drawer: it closes the drawer even from the tag input, and focus goes back to whatever opened it.

Released under the MIT / Apache 2.0 License.