Under Development
stars

Getting Started with NeoMutt#

This tutorial gives you a friendly tour of NeoMutt’s main screens and the keys you’ll use every day. You’ll launch NeoMutt, move around, and find help when you need it.

If you haven’t configured an account yet, start with Writing Your First Configuration or the guided Start Here page, then come back for the tour.

The keybindings shown here are the defaults. Your system may differ. In any menu, press ? to see the current bindings for your setup.

Start NeoMutt by running neomutt in your terminal.

Quick Tour#

  1. Start NeoMutt and wait for the message list (the Index).

  2. Press ? to open the help screen and note the keys for moving up and down and for quitting.

  3. Use j and k to move the selection. Use the help screen to find the key that opens a message.

  4. In the message view (the Pager), press ? again to see its keys, then press q to return.

  5. Press q to quit when you’re done.

If you want more depth on the screens and menus, keep reading.

Core Concepts#

NeoMutt is a text-based application which interacts with users through different menus which are mostly line-/entry-based or page-based. A line-based menu is the so-called “index” menu (listing all messages of the currently opened folder) or the “alias” menu (allowing you to select recipients from a list). Examples for page-based menus are the “pager” (showing one message at a time) or the “help” menu listing all available key bindings.

The user interface consists of a context sensitive help line at the top, the menu’s contents followed by a context sensitive status line and finally the command line. The command line is used to display informational and error messages as well as for prompts and for entering interactive commands.

📷 Screenshot Needed

Subject: NeoMutt overall UI layout

Description: A full terminal window showing NeoMutt’s main interface with the context-sensitive help line at the top, the message index in the center, the status line near the bottom, and the command line at the very bottom.

Highlights: The four distinct areas of the UI — help line, menu content, status line, and command line — should each be clearly visible and identifiable.

NeoMutt is configured through variables which, if the user wants to permanently use a non-default value, are written to configuration files. NeoMutt supports a rich config file syntax to make even complex configuration files readable and commentable.

Because NeoMutt allows for customizing almost all key bindings, there are so-called “functions” which can be executed manually (using the command line) or in macros. Macros allow the user to bind a sequence of commands to a single key or a short key sequence instead of repeating a sequence of actions over and over.

Many commands (such as saving or copying a message to another folder) can be applied to a single message or a set of messages (so-called “tagged” messages). To help selecting messages, NeoMutt provides a rich set of message patterns (such as recipients, sender, body contents, date sent/received, etc.) which can be combined into complex expressions using the boolean and and or operations as well as negating. These patterns can also be used to (for example) search for messages or to limit the index to show only matching messages.

NeoMutt supports a “hook” concept which allows the user to execute arbitrary configuration commands and functions in certain situations such as entering a folder, starting a new message or replying to an existing one. These hooks can be used to highly customize NeoMutt’s behavior including managing multiple identities, customizing the display for a folder or even implementing auto-archiving based on a per-folder basis and much more.

Besides an interactive mode, NeoMutt can also be used as a command-line tool to send messages.

Screens and Menus#

Index#

The index is the screen that you usually see first when you start NeoMutt. It gives an overview over your emails in the currently opened mailbox. By default, this is your system mailbox. The information you see in the index is a list of emails, each with its number on the left, its flags (new email, important email, email that has been forwarded or replied to, tagged email, …), the date when email was sent, its sender, the email size, and the subject. Additionally, the index also shows thread hierarchies: when you reply to an email, and the other person replies back, you can see the other person’s email in a “sub-tree” below. This is especially useful for personal email between a group of people or when you’ve subscribed to mailing lists.

📷 Screenshot Needed

Subject: The Index screen

Description: The NeoMutt Index screen showing a list of emails with message numbers, status flags (N for new, r for replied, ! for flagged), dates, sender names, sizes, and subjects. Include some threaded messages to show the tree hierarchy with reply indentation.

Highlights: The columnar layout of the message list — flags, date, sender, size, and subject — plus how threads are visually represented with tree characters.

Pager#

The pager is responsible for showing the email content. On the top of the pager you have an overview over the most important email headers like the sender, the recipient, the subject, and much more information. How much information you actually see depends on your configuration, which we’ll describe below.

Below the headers, you see the email body which usually contains the message. If the email contains any attachments, you will see more information about them below the email body, or, if the attachments are text files, you can view them directly in the pager.

📷 Screenshot Needed

Subject: The Pager screen

Description: The NeoMutt Pager displaying an email message, with header fields (From, To, Subject, Date) at the top, the message body below, and the status line at the bottom showing the current position in the message.

Highlights: The separation between email headers and body content, the status line showing progress through the message, and any color highlighting of quoted text or URLs.

To give the user a good overview, it is possible to configure NeoMutt to show different things in the pager with different colors. Virtually everything that can be described with a regular expression can be colored, e.g. URLs, email addresses or smileys.

File Browser#

The file browser is the interface to the local or remote file system. When selecting a mailbox to open, the browser allows custom sorting of items, limiting the items shown by a regular expression and a freely adjustable format of what to display in which way. It also allows for easy navigation through the file system when selecting file(s) to attach to a message, select multiple files to attach and many more.

Some mail systems can nest mail folders inside other mail folders. The normal open entry commands in NeoMutt will open the mail folder and you can’t see the sub-folders. If you instead use the <descend-directory> function it will go into the directory and not open it as a mail directory.

📷 Screenshot Needed

Subject: The File Browser screen

Description: The NeoMutt File Browser showing a list of mailboxes or directories, with columns for file size, date, and name. Show a mix of directories and mail folders to illustrate navigation.

Highlights: How mailboxes and directories are listed, the sorting columns, and the navigation prompt at the bottom for selecting a mailbox to open.

Help#

The help screen is meant to offer a quick help to the user. It lists the current configuration of key bindings and their associated commands including a short description, and currently unbound functions that still need to be associated with a key binding (or alternatively, they can be called via the NeoMutt command prompt).

📷 Screenshot Needed

Subject: The Help screen

Description: The NeoMutt Help screen showing a list of key bindings and their associated functions with short descriptions, as displayed when pressing ? from the Index.

Highlights: The two-column layout of key bindings paired with function names and descriptions, and the section showing unbound functions at the bottom.

Compose Menu#

The compose menu features a split screen containing the information which really matters before actually sending a message by mail: who gets the message as what (recipients and who gets what kind of copy). Additionally, users may set security options like deciding whether to sign, encrypt or sign and encrypt a message with/for what keys. Also, it’s used to attach messages, to re-edit any attachment including the message itself.

📷 Screenshot Needed

Subject: The Compose Menu screen

Description: The NeoMutt Compose Menu showing the split-screen layout with header fields at the top (From, To, Cc, Bcc, Subject, Reply-To, Fcc), security settings (PGP/S/MIME options), and the list of attachments at the bottom.

Highlights: The editable header fields, the security option indicators, and how attachments are listed with their MIME types and sizes.

Alias Menu#

The alias menu is used to help users finding the recipients of messages. For users who need to contact many people, there’s no need to remember addresses or names completely because it allows for searching, too. The alias mechanism and thus the alias menu also features grouping several addresses by a shorter nickname, the actual alias, so that users don’t have to select each single recipient manually. The alias menu is also used to display the result of external address queries.

📷 Screenshot Needed

Subject: The Alias Menu screen

Description: The NeoMutt Alias Menu showing a list of defined aliases with nicknames, real names, and email addresses, as displayed when selecting recipients for a message.

Highlights: How aliases group multiple addresses under short nicknames, the search capability for finding contacts, and how selected aliases are highlighted.

Attachment Menu#

As will be later discussed in detail, NeoMutt features a good and stable MIME implementation, that is, it supports sending and receiving messages of arbitrary MIME types. The attachment menu displays a message’s structure in detail: what content parts are attached to which parent part (which gives a true tree structure), which part is of what type and what size. Single parts may saved, deleted or modified to offer great and easy access to message’s internals.

📷 Screenshot Needed

Subject: The Attachment Menu screen

Description: The NeoMutt Attachment Menu displaying a message with multiple attachments in a tree structure, showing parent/child MIME parts with their content types (e.g., text/plain, image/jpeg, application/pdf), sizes, and descriptions.

Highlights: The tree structure showing how MIME parts are nested, the content type and size columns, and the menu options for saving or viewing individual attachments.

Moving Around in Menus#

The most important navigation keys common to line- or entry-based menus are shown below, as well as keys for page-based menus.

Navigation Keys in Entry-Based Menus#

Key

Function

Description

j or <Down>

<next-entry>

Move to the next entry

k or <Up>

<previous-entry>

Move to the previous entry

z or <PageDn>

<next-page>

go to the next page

Z or <PageUp>

<previous-page>

go to the previous page

= or <Home>

<first-entry>

jump to the first entry

* or <End>

<last-entry>

jump to the last entry

q

<quit>

exit the current menu

?

<help>

list all keybindings for the current menu

Next Steps#