Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
AERC-BINDS(5)		       File Formats Manual		   AERC-BINDS(5)

NAME
     aerc-binds - key bindings configuration file format for aerc(1)

SYNOPSIS
     The  binds.conf  file  is used for configuring keybindings used in the aerc
     interactive client. It is expected to be in your XDG config home plus aerc,
     which defaults to ~/.config/aerc/binds.conf. If the file  does  not  exist,
     the  built-in default will be installed. An alternate file can be specified
     via the --binds-conf command line argument, see aerc(1).

     This file is written in the ini format with key bindings defined as:

	 <key sequence> = <command>

     Where <key sequence> is the keystrokes pressed (in order)	to  invoke  this
     keybinding, and <command> specifies keystrokes that aerc will simulate when
     the  keybinding is invoked. Generally this is used to execute commands, for
     example:

	 rq = :reply -q<Enter>

     Pressing r, then q, will simulate typing in :reply -q<Enter>,  and  execute
     :reply  -q  accordingly.  It  is also possible to invoke keybindings recur-
     sively in a similar fashion.

     You may configure different keybindings for different contexts  by  writing
     them into different [sections] of the ini file.

CONTEXTS
     The available contexts are:

     [messages]
	 keybindings for the message list

     [view]
	 keybindings for the message viewer

     [view::passthrough]
	 keybindings  for the viewer, when in key passthrough mode (toggled with
	 :toggle-key-passthrough)

     [compose]
	 keybindings for the message composer

     [compose::editor]
	 keybindings for the composer, when the editor is focused

     [compose::review]
	 keybindings for the composer, when reviewing the email before it's sent

	 To customize the description shown on the review screen, add a  comment
	 (" # ") at the end of the keybinding. Example:

	     p = :postpone<Enter> # I'll work on it later

	 The  order  in  which	bindings  are defined is preserved on the review
	 screen. If a non-default binding is not annotated it will be  displayed
	 without any description.

	 To hide a binding from the review screen, explicitly annotate it with a
	 " # -" comment. Example:

	     <C-e> = :encrypt<Enter> # -

     [terminal]
	 keybindings for terminal tabs

     You may also configure account specific key bindings for each context:

     [context:account=AccountName]
	 keybindings  for this context and account, where AccountName is a regu-
	 lar expression that matches  the  account  name  you  provided  in  ac-
	 counts.conf.

     Folder and context-specific bindings can be configured for message lists:

     [messages:folder=FolderName]
     [view:folder=FolderName]
     [compose:folder=FolderName]
     [compose::editor:folder=FolderName]
     [compose::review:folder=FolderName]
	 keybindings  under  this  section  will  be specific to the folder that
	 matches the regular expression FolderName. Keybindings  from  a  folder
	 specifier will take precedence over account specifiers

EXAMPLES
	 [messages:account=Mailbox]
	 c = :cf path:mailbox/** and<space>

	 [compose::editor:account=Mailbox2]

	 [compose::editor:folder=aerc]
	 y = :send -t aerc

	 [messages:folder=Drafts]
	 <Enter> = :recall<Enter>

	 [messages:folder=Archive/d+/.*]
	 gi = :cf Inbox<Enter>
	 ...

     You  may also configure global keybindings by placing them at the beginning
     of the file, before specifying any context-specific sections.

     Parent keybindings can be erased in  the  context	ones  by  specifying  an
     "empty" binding:

	 [compose::review]
	 a = :attach<space>
	 d = :detach<space>

	 [compose::review:account=no-attachments]
	 a =
	 d =

     If you want to change the default Delete action to move to Trash instead of
     deleting permanently:

	 d = :read<Enter>:move Trash<Enter>
	 #...
	 [messages:folder=Trash]
	 d = :choose -o y 'Permanently delete?' delete-message<Enter>
	 # And similarly for Spam

SPECIAL OPTIONS
     In  addition  of  user defined key sequences, the following special options
     are available in each binding context:

     $noinherit = true|false
	 If set to true, global keybindings will not be effective in  this  con-
	 text.

	 Default: false

     $ex = <key-stroke>
	 This can be set to a keystroke which will bring up the command input in
	 this context.

	 Default: :

     $complete = <key-stroke>
	 This can be set to a keystroke which will trigger command completion in
	 this context for text inputs that support it.

	 Default: <tab>

	 Note:	automatic  command  completion	is disabled when simulating key-
	 strokes and re-enabled at the end.  When  [ui].completion-min-chars  is
	 set  to manual (see aerc-config(5)), it is possible to end a keybinding
	 with the completion key to  explicitly  display  the  completion  menu.
	 E.g.:

	     o = :cf<space><tab>

SUPPORTED KEYS
     In  addition  to  letters and some characters (e.g. a, RR, gu, ?, !, etc.),
     special keys may be specified in <angle brackets>. The syntax for	modified
     or special keys is:

	 <C-A-S-key>

     Where C is control, A is alt, S is shift, and key is the named key or char-
     acter.

     Valid key names are:

     +-------------+--------------+
     | Name	   | Description  |
     +-------------+--------------+
     | <space>	   |	 " "	  |
     +-------------+--------------+
     | <semicolon> |	  ;	  |
     +-------------+--------------+
     | <tab>	   |	 Tab	  |
     +-------------+--------------+
     | <enter>	   |	Enter	  |
     +-------------+--------------+
     | <up>	   |   Up arrow   |
     +-------------+--------------+
     | <down>	   |  Down arrow  |
     +-------------+--------------+
     | <right>	   | Right arrow  |
     +-------------+--------------+
     | <left>	   |  Left arrow  |
     +-------------+--------------+
     | <pgup>	   |   Page Up	  |
     +-------------+--------------+
     | <pgdn>	   |  Page Down   |
     +-------------+--------------+
     | <home>	   |	 Home	  |
     +-------------+--------------+
     | <end>	   |	 End	  |
     +-------------+--------------+
     | <insert>    |	Insert	  |
     +-------------+--------------+
     | <delete>    |	Delete	  |
     +-------------+--------------+
     | <backspace> |  Backspace   |
     +-------------+--------------+
     | <exit>	   |	 Exit	  |
     +-------------+--------------+
     | <cancel>    |	Cancel	  |
     +-------------+--------------+
     | <print>	   | Print screen |
     +-------------+--------------+
     | <pause>	   |	Pause	  |
     +-------------+--------------+
     | <backtab>   |  Shift+Tab   |
     +-------------+--------------+
     | <esc>	   |	Escape	  |
     +-------------+--------------+

SEE ALSO
     aerc(1) aerc-config(5)

AUTHORS
     Originally created by Drew DeVault and maintained by Robin Jarry who is as-
     sisted  by  other open source contributors. For more information about aerc
     development, see https://sr.ht/~rjarry/aerc/.

				   2026-06-13			   AERC-BINDS(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=aerc-binds&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>

home | help