Define a new custom layout named "@Notmuch" with binding "n" for notmuch buffers. The custom layout's name can be customized using the new notmuch-spacemacs-layout-name variable. The custom layout's binding can be customized using the new notmuch-spacemacs-layout-binding variable.
7.7 KiB
Notmuch layer
Description
Notmuch offers a fast, global-search and tag-based email system to use within your text editor or in a terminal.
This layer integrates notmuch emacs package into spacemacs.
Features:
- Email searching
- Email tagging
Install
In order to use this layer you must install notmuch separately.
To install not much follow the instructions in installation instructions.
Then add this layer to your ~/.spacemacs
. You will need to add notmuch
to
the existing dotspacemacs-configuration-layers
list in this file.
Sending and Receiving emails
For this you will need an external program.
Receiving emails
To be able to receive email you will need to configure an external program to do it. See the receive mail section.
After you configured your email fetcher program, maybe you would like to
synchronize the email each time you call notmuch
, in order to do that you
could customize the variable notmuch-hello-mode-hook
to call a lisp function
that calls your email syncing utility.
Sending emails with Thunderbird
You could use thunderbird http://pragmaticemacs.com/emacs/use-emacs-for-thunderbird-emails/
See also
Refer to the official notmuch website for more information: https://notmuchmail.org/
Key bindings
Global bindings
Keybinding | Command |
---|---|
SPC a N N |
Start notmuch |
SPC a N n |
Start helm notmuch |
SPC a N j |
Start a notmuch jump search |
SPC a N s |
Start a notmuch search |
SPC l o n |
Start notmuch in a custom layout, "@Notmuch" |
Show mode
Keybinding | Command |
---|---|
SPC m a |
[ATTACHMENTS] Save all attachments |
SPC m P o |
[PATCH] Open github patch in a new buffer |
SPC m p m |
[PART] Choose the mime type to use for displaying |
SPC m p \vert |
[PART] Pipe part at point to an external command |
SPC m p o |
[PART] View part at point (prompt for a viewer) |
SPC m p v |
[PART] View part at point in an external viewer |
SPC m p s |
[PART] Save part at point to a file |
SPC m s c |
[STASH] Copy CC to kill-ring |
SPC m s d |
[STASH] Copy timestamp to kill-ring |
SPC m s G |
[STASH] Copy From/To/Cc/Message-Id of current message to kill-ring |
SPC m s l |
[STASH] [Mailing List Archive] Copy ML Archive URI to kill-ring |
SPC m s L |
[STASH] [Mailing List Archive] Copy ML Archive URI to kill-ring and visit it |
SPC m s i |
[STASH] Copy message-id to kill-ring |
SPC m s I |
[STASH] Copy message-id without id: prefix to kill-ring |
SPC m s f |
[STASH] Copy From address to kill-ring |
SPC m s F |
[STASH] Copy filename to kill-ring |
SPC m s s |
[STASH] Copy Subject to kill-ring |
SPC m s t |
[STASH] Copy To address to kill-ring |
SPC m s T |
[STASH] Copy tags to kill-ring |
Evilified key bindings
Hello mode
Keybinding | Command |
---|---|
J |
Jump to a saved search |
s |
Show threads matching QUERY |
Search mode
Keybinding | Command |
---|---|
J |
Jump to saved search |
* |
[Thread] Add/Remove tags |
+ |
[Message] Add tags |
- |
[Message] Remove tags |
a |
[Message] Archive |
Show mode
Keybinding | Description |
---|---|
o |
Open all messages |
O |
Close all messages |
n |
Show next open message |
N |
Show next message |
p |
Show previous open message |
P |
Show previous message |
C-n |
Show next thread |
C-p |
Show previous thread |
d |
Delete messages down |
D |
Delete messages up |
J |
Jump search |
L |
Filter current search |
gf |
Find file or URL at point |
gg |
Jump to top |
G |
Jump to bottom |
gr |
Refresh buffer |
gR |
Refresh all buffers |
m |
Compose mail |
Tree mode
Keybinding | Command |
---|---|
* |
[Thread] Add/Remove tags |
+ |
[Message] Add tags |
- |
[Message] Remove tags |
a |
[Message] Archive |
Spacemacs layout integration
This layer defines a Spacemacs custom layout and automatically adds notmuch buffers to this layout. The name and the key binding for the layout can be customized with the following layer variables:
notmuch-spacemacs-layout-name
for the layout name,notmuch-spacemacs-layout-binding
for the key binding.
The following example configures the layout with the default name and binding:
(setq-default dotspacemacs-configuration-layers '(
(notmuch :variables notmuch-spacemacs-layout-name "@Notmuch"
notmuch-spacemacs-layout-binding "n")))