.\" Generated by scdoc 1.11.3 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "AERC" "1" "2024-07-30" .PP .SH NAME .PP aerc - a pretty good email client.\& .PP .SH SYNOPSIS .PP \fBaerc\fR [\fB-h\fR] [\fB-v\fR] [\fB-a\fR \fI\fR] [\fB-C\fR \fI\fR] [\fB-A\fR \fI\fR] [\fB-B\fR \fI\fR] [\fB-I\fR] [\fBmailto:\fR\fI<.\&.\&.\&>\fR | \fBmbox:\fR\fI\fR | :\fI\fR] .PP For a guided tutorial, use \fB:help tutorial\fR from aerc, or \fBman aerc-tutorial\fR from your terminal.\& .PP .SH OPTIONS .PP \fB-h\fR, \fB--help\fR .RS 4 Show aerc usage help and exit.\& .PP .RE \fB-v\fR, \fB--version\fR .RS 4 Print the installed version of aerc and exit.\& .PP .RE \fB-a\fR \fI\fR .br \fB--account\fR \fI\fR .RS 4 Load only the named account, as opposed to all configured accounts.\& It can also be a comma separated list of names.\& This option may be specified multiple times.\& The account order will be preserved.\& .PP .RE \fB-C\fR \fI\fR .br \fB--aerc-conf\fR \fI\fR .RS 4 Instead of using \fI$XDG_CONFIG_HOME/aerc/aerc.\&conf\fR use the file at the specified path for configuring aerc.\& .PP .RE \fB-A\fR \fI\fR .br \fB--accounts-conf\fR \fI\fR .RS 4 Instead of using \fI$XDG_CONFIG_HOME/aerc/accounts.\&conf\fR use the file at the specified path for configuring accounts.\& .PP .RE \fB-B\fR \fI\fR .br \fB--binds-conf\fR \fI\fR .RS 4 Instead of using \fI$XDG_CONFIG_HOME/aerc/binds.\&conf\fR use the file at the specified path for configuring binds.\& .PP .RE \fB-I\fR, \fB--no-ipc\fR .RS 4 Run commands (\fBmailto:\fR\fI.\&.\&.\&\fR, \fB:\fR\fI\fR, \fBmbox:\fR\fI\fR) directly in this instance rather than over IPC in an existing aerc instance.\& Also disable creation of an IPC server for subsequent aerc instances to communicate with this one.\& .PP .RE \fBmailto:\fR\fIaddress[,address][?\&query[&query]]\fR .RS 4 Open the composer with the address(es) in the To field.\& These addresses must not be percent encoded.\& .PP If aerc is already running (and IPC is not disabled), the composer is started in that instance; otherwise a new instance is started with the composer.\& .PP The following (optional) query parameters are supported: .PP .RE .TS allbox;l l l l l l l l l l l l l l l l. T{ \fBQuery\fR T} T{ \fBDescription\fR T} T{ \fIsubject=\fR T} T{ Subject line will be completed with the \fI\fR T} T{ \fIbody=\fR T} T{ Message body will be completed with the \fI\fR T} T{ \fIcc=
[,
]\fR T} T{ Cc header will be completed with the list of addresses T} T{ \fIbcc=
[,
]\fR T} T{ Bcc header will be completed with the list of addresses T} T{ \fIin-reply-to=\fR T} T{ In-reply-to header will be set to the message id T} T{ \fIaccount=\fR T} T{ Specify the account (must be in \fIaccounts.\&conf\fR; default is the selected account) T} T{ \fItemplate=\fR T} T{ Template sets the template file for creating the message T} .TE .sp 1 .RS 4 Note that reserved characters in the queries must be percent encoded.\& .PP .RE \fB:\fR\fI\fR .RS 4 Run an aerc-internal command as you would in Ex-Mode.\& See \fBRUNTIME COMMANDS\fR below.\& .PP The command to be executed and its arguments can either be passed as separate arguments in the shell (e.\&g.\&, \fIaerc :cmd arg1 arg2\fR) or as a single argument in the shell (e.\&g.\&, \fIaerc ":cmd arg1 arg2"\fR).\& In the former case, aerc may add quotes to the command before it is parsed in an attempt to preserve arguments containing spaces and other special characters.\& In the latter case, aerc will parse the command verbatim, as if it had been typed directly on aerc'\&s command line.\& This latter form can be helpful for commands that don'\&t interpret quotes in their arguments.\& .PP If aerc is already running (and IPC is not disabled), the command is run in that instance; otherwise a new instance is started with the command.\& .PP .RE \fBmbox:\fR\fI\fR .RS 4 Open the specified mbox file as a virtual temporary account.\& .PP If aerc is already running (and IPC is not disabled), the file is opened in that instance; otherwise a new instance is started with the file.\& .PP .RE .SH RUNTIME COMMANDS .PP To execute a command, press \fB:\fR to bring up the command interface.\& Commands may also be bound to keys, see \fBaerc-binds\fR(5) for details.\& In some contexts, such as the terminal emulator, \fB\fR is used to bring up the command interface.\& .PP Different commands work in different contexts, depending on the kind of tab you have selected.\& .PP Dynamic arguments are expanded following \fBaerc-templates\fR(7) depending on the context.\& For example, if you have a message selected, the following command: .PP .nf .RS 4 :filter -f "{{index (\&.From | emails) 0}}" .fi .RE .PP Will filter all messages sent by the same sender.\& .PP Aerc stores a history of commands, which can be cycled through in command mode.\& Pressing the up key cycles backwards in history, while pressing down cycles forwards.\& .PP .SS GLOBAL COMMANDS .PP These commands work in any context.\& .PP \fB:help\fR \fI\fR .br \fB:man\fR \fI\fR .RS 4 Display one of aerc'\&s man pages in the embedded terminal.\& .PP .RE \fB:help\fR \fBkeys\fR .br \fB:man\fR \fBkeys\fR .RS 4 Display the active key bindings in the current context.\& .PP .RE \fB:new-account\fR [\fB-t\fR] .RS 4 Start the new account wizard.\& .PP \fB-t\fR: Create a temporary account.\& Do not modify \fIaccounts.\&conf\fR.\& .PP .RE \fB:cd\fR \fI\fR .RS 4 Changes aerc'\&s current working directory.\& .PP .RE \fB:z\fR \fI\fR .RS 4 Changes aerc'\&s current working directory using zoxide.\& If zoxide is not on \fB$PATH\fR.\&, the command will not be registered.\& .PP .RE \fB:change-tab\fR [\fB+\fR|\fB-\fR]\fI\fR .br \fB:ct\fR [\fB+\fR|\fB-\fR]\fI\fR .RS 4 Changes the focus to the tab with the given name.\& If a number is given, it'\&s treated as an index.\& If the number is prepended with \fB+\fR or \fB-\fR, the number is interpreted as a delta from the selected tab.\& If only a \fB-\fR is given, changes the focus to the previously selected tab.\& .PP .RE \fB:exec\fR \fI\fR .RS 4 Executes an arbitrary command in the background.\& Aerc will set the environment variables \fB$account\fR and \fB$folder\fR when the command is executed from an Account tab or an opened message.\& .PP Note: commands executed in this way are not executed with the shell.\& .PP .RE \fB:eml\fR [\fI\fR] .br \fB:preview\fR [\fI\fR] .RS 4 Opens an eml file and displays the message in the message viewer.\& .PP Can also be used in the message viewer to open an rfc822 attachment or in the composer to preview the message.\& .PP .RE \fB:pwd\fR .RS 4 Displays aerc'\&s current working directory in the status bar.\& .PP .RE \fB:send-keys\fR \fI\fR .RS 4 Send keystrokes to the currently visible terminal, if any.\& Can be used to control embedded editors to save drafts or quit in a safe manner.\& .PP Here'\&s an example of quiting a Vim-like editor: .PP .RS 4 \fB:send-keys\fR \fI:wq!\&\fR .PP .RE Note: when used in \fIbinds.\&conf\fR (see \fBaerc-binds\fR(5)), angle brackets need to be escaped in order to make their way to the command: .PP .RS 4 = :send-keys \e:wq!\&\e .PP .RE This way the \fI\fR and the first \fI\fR keystrokes are passed to \fB:send-keys\fR, while the last \fI\fR keystroke is executed directly, committing the \fB:send-keys\fR command'\&s execution.\& .PP .RE \fB:term\fR [\fI.\&.\&.\&\fR] .br \fB:terminal\fR [\fI.\&.\&.\&\fR] .RS 4 Opens a new terminal tab with a shell running in the current working directory, or the specified command.\& .PP .RE \fB:move-tab\fR [\fI+\fR|\fI-\fR]\fI\fR .RS 4 Moves the selected tab to the given index.\& If \fI+\fR or \fI-\fR is specified, the number is interpreted as a delta from the selected tab.\& .PP .RE \fB:prev-tab\fR [\fI\fR] .br \fB:next-tab\fR [\fI\fR] .RS 4 Cycles to the previous or next tab in the list, repeating \fI\fR times (default: \fI1\fR).\& .PP .RE \fB:pin-tab\fR .RS 4 Moves the current tab to the left of all non-pinned tabs and displays the \fBpinned-tab-marker\fR (default: \fI`\fR) to the left of the tab title.\& .PP .RE \fB:unpin-tab\fR .RS 4 Removes the \fBpinned-tab-marker\fR from the current tab and returns the tab to its previous location.\& .PP .RE \fB:prompt\fR \fI\fR \fI.\&.\&.\&\fR .RS 4 Displays the prompt on the status bar, waits for user input, then appends that input as the last argument to the command and executes it.\& The input is passed as one argument to the command, unless it is empty, in which case no extra argument is added.\& .PP .RE \fB:menu\fR [\fB-c\fR \fI""\fR] [\fB-e\fR] [\fB-b\fR] [\fB-a\fR] [\fB-d\fR] \fI\fR .RS 4 Opens a popover dialog running \fIsh -c ""\fR (if not specified \fB[general].\&default-menu-cmd\fR will be used).\& When the command exits, all lines printed on its standard output will be appended to \fI\fR and executed as a standard aerc command like \fBxargs\fR(1) would do when used in a shell.\& A colon (\fB:\fR) prefix is supported for \fI\fR but is not required.\& .PP \fB:menu\fR can be used without an external program by setting \fI\fR to \fI-\fR.\& This also acts as a fallback in case where no \fI\fR was specified at all or the executable in the \fI\fR was not found.\& .PP \fB-c\fR \fI""\fR .RS 4 Override \fB[general].\&default-menu-cmd\fR.\& See \fBaerc-config\fR(5) for more details.\& .PP .RE \fB-e\fR: Stop executing commands on the first error.\& .PP \fB-b\fR: Do \fBNOT\fR spawn the popover dialog.\& Start the commands in the background (\fBNOT\fR in a virtual terminal).\& Use this if \fI\fR is a graphical application that does not need a terminal.\& .PP \fI\fR may be fed with input text using the following flags: .RS 4 \fB-a\fR: All account names, one per line.\& E.\&g.\&: .PP .RS 4 \&'\&'\& LF .PP .RE \fB-d\fR: All current account directory names, one per line.\& E.\&g.\&: .PP .RS 4 \&'\&'\& LF .PP .RE \fB-ad\fR: All directories of all accounts, one per line.\& E.\&g.\&: .PP .RS 4 \&'\&'\& '\&'\& LF .PP .RE Quotes may be added by aerc when either tokens contain special characters.\& The quotes should be preserved for \fI\fR.\& .PP .RE Examples: .PP .nf .RS 4 :menu -adc fzf :cf -a :menu -c \&'fzf --multi\&' :attach :menu -dc \&'fzf --multi\&' :cp :menu -bc \&'dmenu -l 20\&' :cf :menu -c \&'ranger --choosefiles=%f\&' :attach .fi .RE .PP This may also be used in key bindings (see \fBaerc-binds\fR(5)): .PP .nf .RS 4 = :menu -adc fzf :cf -a .fi .RE .PP .RE \fB:choose\fR \fB-o\fR \fI\fR \fI\fR \fI\fR [\fB-o\fR \fI\fR \fI\fR \fI\fR].\&.\&.\& .RS 4 Prompts the user to choose from various options.\& .PP .RE \fB:suspend\fR .RS 4 Suspends the aerc process.\& Some ongoing connections may be terminated.\& .PP .RE \fB:quit\fR [\fB-f\fR] .br \fB:exit\fR [\fB-f\fR] .br \fB:q\fR [\fB-f\fR] .RS 4 Exits aerc.\& If a task is being performed that should not be interrupted (like sending a message), a normal quit call might fail.\& In this case, closing aerc can be forced with the \fB-f\fR option.\& .PP .RE .SS MESSAGE COMMANDS .PP These commands are valid in any context that has a selected message (e.\&g.\& the message list, the message in the message viewer, etc).\& .PP \fB:archive\fR [\fB-m\fR \fI\fR] \fI\fR .RS 4 Moves the selected message to the archive.\& The available schemes are: .PP \fIflat\fR: No special structure, all messages in the archive directory .PP \fIyear\fR: Messages are stored in folders per year .PP \fImonth\fR: Messages are stored in folders per year and subfolders per month .PP The \fB-m\fR option sets the multi-file strategy.\& See \fBaerc-notmuch\fR(5) for more details.\& .PP .RE \fB:accept\fR [\fB-e\fR|\fB-E\fR] .RS 4 Accepts an iCalendar meeting invitation.\& This opens a compose window with a specially crafted attachment.\& Sending the email will let the inviter know that you accepted and will likely update their calendar as well.\& This will NOT add the meeting to your own calendar, that must be done as a separate manual step (e.\&g.\& by piping the text/calendar part to an appropriate script).\& .PP \fB-e\fR: Forces \fB[compose].\&edit-headers\fR = \fItrue\fR for this message only.\& .PP \fB-E\fR: Forces \fB[compose].\&edit-headers\fR = \fIfalse\fR for this message only.\& .PP .RE \fB:accept-tentative\fR [\fB-e\fR|\fB-E\fR] .RS 4 Accepts an iCalendar meeting invitation tentatively.\& .PP \fB-e\fR: Forces \fB[compose].\&edit-headers\fR = \fItrue\fR for this message only.\& .PP \fB-E\fR: Forces \fB[compose].\&edit-headers\fR = \fIfalse\fR for this message only.\& .PP .RE \fB:copy\fR [\fB-p\fR] [\fB-a\fR \fI\fR] [\fB-m\fR \fI\fR] \fI\fR .br \fB:cp\fR [\fB-p\fR] [\fB-a\fR \fI\fR] [\fB-m\fR \fI\fR] \fI\fR .RS 4 Copies the selected message(s) to \fI\fR.\& .PP \fB-p\fR: Create \fI\fR if it does not exist.\& .PP \fB-a\fR: Copy to \fI\fR of \fI\fR.\& If \fI\fR does not exist, it will be created whether or not \fB-p\fR is used.\& .PP \fB-m\fR: Set the multi-file strategy.\& See \fBaerc-notmuch\fR(5) for more details.\& .PP .RE \fB:decline\fR [\fB-e\fR|\fB-E\fR] .RS 4 Declines an iCalendar meeting invitation.\& .PP \fB-e\fR: Forces \fB[compose].\&edit-headers\fR = \fItrue\fR for this message only.\& .PP \fB-E\fR: Forces \fB[compose].\&edit-headers\fR = \fIfalse\fR for this message only.\& .PP .RE \fB:delete\fR [\fB-m\fR \fI\fR] .br \fB:delete-message\fR [\fB-m\fR \fI\fR] .RS 4 Deletes the selected message.\& .PP \fB-m\fR: Set the multi-file strategy.\& See \fBaerc-notmuch\fR(5) for more details.\& .PP .RE \fB:envelope\fR [\fB-h\fR] [\fB-s\fR \fI\fR] .RS 4 Opens the message envelope in a dialog popup.\& .PP \fB-h\fR: Show all header fields .PP \fB-s\fR \fI\fR .RS 4 User-defined format specifier requiring two \fI%s\fR for the key and value strings.\& Default format: \fI%-20.\&20s: %s\fR .PP .RE .RE \fB:recall\fR [\fB-f\fR] [\fB-e\fR|\fB-E\fR] .RS 4 Opens the selected message for re-editing.\& Messages can only be recalled from the postpone directory.\& .PP \fB-f\fR: Open the message for re-editing even if it is not in the postpone directory.\& Aerc remembers the folder, so the further \fB:postpone\fR call will save the message back there.\& .PP \fB-e\fR: Forces \fB[compose].\&edit-headers\fR = \fItrue\fR for this message only.\& .PP \fB-E\fR: Forces \fB[compose].\&edit-headers\fR = \fIfalse\fR for this message only.\& .PP Original recalled messages are deleted if they are sent or postponed again.\& In both cases you have another copy of the message somewhere.\& Otherwise the recalled message is left intact.\& This happens if the recalled message is discarded after editing.\& It can be deleted with \fB:rm\fR if it is not needed.\& .PP .RE \fB:forward\fR [\fB-A\fR|\fB-F\fR] [\fB-T\fR \fI\fR] [\fB-e\fR|\fB-E\fR] [\fI
\fR.\&.\&.\&] .RS 4 Opens the composer to forward the selected message to another recipient.\& .PP \fB-A\fR: Forward the message and all attachments.\& .PP \fB-F\fR: Forward the full message as an RFC 2822 attachment.\& .PP \fB-T\fR \fI\fR .RS 4 Use the specified template file for creating the initial message body.\& Unless \fB-F\fR is specified, this defaults to what is set as \fBforwards\fR in the \fB[templates]\fR section of \fIaerc.\&conf\fR.\& .PP .RE \fB-e\fR: Forces \fB[compose].\&edit-headers\fR = \fItrue\fR for this message only.\& .PP \fB-E\fR: Forces \fB[compose].\&edit-headers\fR = \fIfalse\fR for this message only.\& .PP .RE \fB:move\fR [\fB-p\fR] [\fB-a\fR \fI\fR] [\fB-m\fR \fI\fR] \fI\fR .br \fB:mv\fR [\fB-p\fR] [\fB-a\fR \fI\fR] [\fB-m\fR \fI\fR] \fI\fR .RS 4 Moves the selected message(s) to \fI\fR.\& .PP \fB-p\fR: Create \fI\fR if it does not exist.\& .PP \fB-a\fR: Move to \fI\fR of \fI\fR.\& If \fI\fR does not exist, it will be created whether or not \fB-p\fR is used.\& .PP \fB-m\fR: Set the multi-file strategy.\& See \fBaerc-notmuch\fR(5) for more details.\& .PP .RE \fB:patch\fR \fI\fR .RS 4 Patch management sub-commands.\& See \fBaerc-patch\fR(7) for more details.\& .PP .RE \fB:pipe\fR [\fB-bmp\fR] \fI\fR .RS 4 Downloads and pipes the selected message into the given shell command (executed with \fIsh -c ""\fR), and opens a new terminal tab to show the result.\& By default, the selected message part is used in the message viewer and the full message is used in the message list.\& .PP Operates on multiple messages when they are marked.\& When piping multiple messages, aerc will write them with mbox format separators.\& .PP \fB-b\fR: Run the command in the background instead of opening a terminal tab .PP \fB-s\fR: Silently close the terminal tab after the command is completed .PP \fB-m\fR: Pipe the full message .PP \fB-p\fR: Pipe just the selected message part, if applicable .PP This can be used to apply patch series with git: .PP .RS 4 \fB:pipe -m\fR \fIgit am -3\fR .PP .RE When at least one marked message subject matches a patch series (e.\&g.\& \fI[PATCH X/Y]\fR), all marked messages will be sorted by subject to ensure that the patches are applied in order.\& .PP .RE \fB:reply\fR [\fB-acq\fR] [\fB-T\fR \fI\fR] [\fB-A\fR \fI\fR] [\fB-e\fR|\fB-E\fR] .RS 4 Opens the composer to reply to the selected message.\& .PP \fB-a\fR: Reply all .PP \fB-c\fR: Close the view tab when replying.\& If the reply is not sent, reopen the view tab.\& .PP \fB-q\fR: Insert a quoted version of the selected message into the reply editor .PP \fB-T\fR \fI\fR .RS 4 Use the specified template file for creating the initial message body.\& If \fB-q\fR is specified, defaults to what is set as \fBquoted-reply\fR in the \fB[templates]\fR section of \fIaerc.\&conf\fR.\& .PP .RE \fB-A\fR_: \fI\fR .RS 4 Reply with the specified account instead of the current one.\& .PP .RE \fB-e\fR: Forces \fB[compose].\&edit-headers\fR = \fItrue\fR for this message only.\& .PP \fB-E\fR: Forces \fB[compose].\&edit-headers\fR = \fIfalse\fR for this message only.\& .PP .RE \fB:read\fR [\fB-t\fR] .RS 4 Marks the marked or selected messages as read.\& .PP \fB-t\fR: Toggle the messages between read and unread.\& .PP .RE \fB:unread\fR [\fB-t\fR] .RS 4 Marks the marked or selected messages as unread.\& .PP \fB-t\fR: Toggle the messages between read and unread.\& .PP .RE \fB:flag\fR [\fB-t\fR] [\fB-a\fR | \fB-x\fR \fI\fR] .RS 4 Sets (enables) a certain flag on the marked or selected messages.\& .PP \fB-t\fR: Toggle the flag instead of setting (enabling) it.\& .PP \fB-a\fR: Mark message as answered/unanswered.\& .PP \fB-x\fR \fI\fR: Mark message with specific flag.\& .RS 4 The available flags are (adapted from RFC 3501, section 2.\&3.\&2): .PP \fISeen\fR .RS 4 Message has been read .RE \fIAnswered\fR .RS 4 Message has been answered .RE \fIFlagged\fR .RS 4 Message is flagged for urgent/special attention .RE \fIDraft\fR .RS 4 Message is a draft .PP .RE .RE .RE \fB:unflag\fR [\fB-t\fR] \fI\fR .RS 4 Operates exactly like \fB:flag\fR, defaulting to unsetting (disabling) flags.\& .PP .RE \fB:modify-labels\fR [\fI+\fR|\fI-\fR]\fI