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 sim-
       ulate 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 exe-
       cute :reply -q accordingly. It is also possible to  invoke  keybindings
       recursively in a	similar	fashion.

       You may configure different keybindings for different contexts by writ-
       ing 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 com-
	   ment	(" # ")	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  dis-
	   played 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
	   regular  expression	that  matches the account name you provided in
	   accounts.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	begin-
       ning 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 =

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

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

	   Default: false

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

	   Default: :

       $complete = <key-stroke>
	   This	 can  be set to	a keystroke which will trigger command comple-
	   tion	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 key-
	   binding  with  the completion key to	explicitly display the comple-
	   tion	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
       character.

       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
       assisted	 by other open source contributors. For	more information about
       aerc development, see https://sr.ht/~rjarry/aerc/.

				  2025-04-17			 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+14.3.quarterly>

home | help