Skip to content

Keys at a glance

The default map, grouped by what you are doing. Every action is rebindable under [keys] (see keys), and ? in the app always renders your effective map, overrides included. Movement takes vi-style counts (4j).

Moving

Key Action Does
J / K move-down / move-up move the selection
gg / G top / bottom jump to either end
Ctrl+D / Ctrl+U half-page-down / half-page-up page
Enter open open the message (scrolls in the pager)
Esc back back out (list: leave a thread view)
Q quit quit (pager: back to the list)

Finding

Key Action Does
/ search notmuch query in the current scope
: command command prompt
gt / gT next-account / previous-account cycle scope
g1 .. g9 account-1 .. account-9 jump to that account
gu account-unified jump to the unified view
Ctrl+N / Ctrl+P sidebar-next / sidebar-previous move the sidebar highlight
Ctrl+O sidebar-open open the highlighted entry
Shift+B toggle-sidebar show or hide the sidebar
Shift+T thread-view pivot onto the thread; Esc returns
za / zo / zc fold-toggle / fold-open / fold-close fold a thread in the tree view

Acting on mail

Key Action Does
M toggle-read flip read/unread on the message
Shift+M mark-all-read mark the whole listing read
Shift+F toggle-flagged flag or unflag
A archive file to the account's archive folder
C move-to folder picker; :move <name> by name
D delete-message to trash; inside trash, delete with confirm
S sync ask the daemon for a pass now

Reading

These act on the open message, in the full pager and on the reading-pane preview alike.

Key Action Does
H toggle-html plain or HTML rendering
B open-html-browser open the HTML part in the system browser
T toggle-headers configured headers or all of them
O open-link numbered link picker
V attachments expand the attachment drawer
Shift+J / Shift+K pane-down / pane-up scroll the reading pane
P cycle-reading-pane pane below, right, off

Writing

Key Action Does
N compose fresh message
R reply reply to the sender
Shift+R reply-all sender plus every other recipient
Shift+L reply-list reply to the mailing list
F forward forward; F lands in the list when sent

In the compose fields, Tab / Shift+Tab (focus-next / focus-prev) move between fields, Enter (compose-submit) advances, Esc (compose-cancel) backs out, and Ctrl+E or Ctrl+H (open-editor) toggle your $EDITOR on the body.

The review screen: Y send, E / H edit-body / edit-headers, A attach-file, D remove-attachment, S / X toggle-sign / toggle-encrypt, K toggle-read-receipt, N toggle-dsn, ++at++ schedule, Q save-draft.

Settings

Open with Shift+, (settings) or :settings; Tab / Shift+Tab (next-tab / prev-tab) move between tabs and Esc (settings-close) leaves.

Tab Key Action Does
Accounts A account-add add an account
Accounts E account-edit edit the selected one
Accounts D delete-account remove it, with confirm
Accounts O sign-in run the OAuth sign-in
Accounts X revoke drop stored grants, with confirm
Accounts Shift+J / Shift+K reorder-down / reorder-up reorder
Essentials L or Enter setting-next step the value forward
Essentials H setting-prev step the value back
Folders Enter edit-alias edit the sidebar alias
Folders H folder-hide hide or unhide
Folders U folder-unsync stop or resume syncing
Folders Shift+J / Shift+K reorder-down / reorder-up reorder

Inside the account form, Ctrl+S saves from any field and Ctrl+D autodiscovers the IMAP and SMTP servers from the e-mail address; these are fixed keys, not [keys] actions.

Everything else

Key Action Does
? help the live cheatsheet

Commands

Typed at the : prompt.

Command Does
:settings accounts, options and folders, in-app
:theme <name> switch and persist a theme; bare lists them
:move <folder> move the message by folder name or alias
:trash-all :archive-all :move-all <folder> act on every match of the current search, behind a count-and-samples confirm
:delete-all permanently delete every match, same confirm, louder
:template <name> compose from a named template
:resume <path> reopen a saved draft
:sign :nosign :encrypt :noencrypt arm the next compose
:accept :tentative :decline answer the open invite
:unsubscribe act on the open message's List-Unsubscribe
:export <account> <path> age-encrypted account archive
:save-patches <path> / :apply <repo> patch series out / git am in
:frames frame-timing statistics in the status line
:q / :quit quit