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
EscClear 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.

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.

Released under the MIT / Apache 2.0 License.