is important, we’ll refer to the Emacs interface as
*notmuch-emacs*.
-Notmuch-emacs is highly customizable via the the Emacs customization
+Notmuch-emacs is highly customizable via the Emacs customization
framework (or just by setting the appropriate variables). We try to
point out relevant variables in this manual, but in order to avoid
duplication of information, you can usually find the most detailed
notmuch-hello key bindings
--------------------------
-``<tab>``
+.. el:define-key:: <tab>
+
Move to the next widget (button or text entry field)
-``<backtab>``
+.. el:define-key:: <backtab>
+
Move to the previous widget.
-``<return>``
+.. el:define-key:: <return>
+
Activate the current widget.
-``g`` ``=``
+.. el:define-key:: g
+ =
+
Refresh the buffer; mainly update the counts of messages for various
saved searches.
-``G``
+.. el:define-key:: G
+
Import mail, See :ref:`importing`
-``m``
+.. el:define-key:: m
+
Compose a message
-``s``
+.. el:define-key:: s
+
Search the notmuch database using :ref:`notmuch-search`
-``v``
+.. el:define-key:: v
+
Print notmuch version
-``q``
+.. el:define-key:: q
+
Quit
.. _saved-searches:
menu of results that the user can explore further by pressing
``<return>`` on the appropriate line.
-``n,C-n,<down>``
+.. el:define-key:: n
+ C-n
+ <down>
+
Move to next line
-``p,C-p,<up>``
+.. el:define-key::
+ p
+ C-p
+ <up>
+
Move to previous line
-``<return>``
+.. el:define-key:: <return>
+
Open thread on current line in :ref:`notmuch-show` mode
-``g`` ``=``
+.. el:define-key:: g
+ =
+
Refresh the buffer
-``?``
+.. el:define-key:: i
+
+ Toggle whether to show messages with excluded tags in search results.
+
+.. el:define-key:: ?
+
Display full set of key bindings
The presentation of results can be controlled by the following
these parts visible by clicking with the mouse button or by
pressing RET after positioning the cursor on a hidden part.
-``<space>``
+.. el:define-key:: <space>
+
Scroll the current message (if necessary),
advance to the next message, or advance to the next thread (if
already on the last message of a thread).
-``c``
+.. el:define-key:: c
+
:ref:`show-copy`
-``N``
+.. el:define-key:: N
+
Move to next message
-``P``
+.. el:define-key:: P
+
Move to previous message (or start of current message)
-``n``
+.. el:define-key:: n
+
Move to next matching message
-``p``
+.. el:define-key:: p
+
Move to previous matching message
-``+,-``
+.. el:define-key:: +
+ -
+
Add or remove arbitrary tags from the current message.
-``!``
+.. el:define-key:: !
+
|docstring::notmuch-show-toggle-elide-non-matching|
-``?``
+.. el:define-key:: ?
+
Display full set of key bindings
Display of messages can be controlled by the following variables; see also :ref:`show-large`.
:ref:`notmuch-show`, and :ref:`notmuch-tree`. A subset are available
in :ref:`notmuch-search`.
-``c F`` ``notmuch-show-stash-filename``
+.. el:define-key:: c F
+ M-x notmuch-show-stash-filename
+
|docstring::notmuch-show-stash-filename|
-``c G`` ``notmuch-show-stash-git-send-email``
+.. el:define-key:: c G
+ M-x notmuch-show-stash-git-send-email
+
|docstring::notmuch-show-stash-git-send-email|
-``c I`` ``notmuch-show-stash-message-id-stripped``
+.. el:define-key:: c I
+ M-x notmuch-show-stash-message-id-stripped
+
|docstring::notmuch-show-stash-message-id-stripped|
-``c L`` ``notmuch-show-stash-mlarchive-link-and-go``
+.. el:define-key:: c L
+ M-x notmuch-show-stash-mlarchive-link-and-go
+
|docstring::notmuch-show-stash-mlarchive-link-and-go|
-``c T`` ``notmuch-show-stash-tags``
+.. el:define-key:: c T
+ M-x notmuch-show-stash-tags
+
|docstring::notmuch-show-stash-tags|
-``c c`` ``notmuch-show-stash-cc``
+.. el:define-key:: c c
+ M-x notmuch-show-stash-cc
+
|docstring::notmuch-show-stash-cc|
-``c d`` ``notmuch-show-stash-date``
+.. el:define-key:: c d
+ M-x notmuch-show-stash-date
+
|docstring::notmuch-show-stash-date|
-``c f`` ``notmuch-show-stash-from``
+.. el:define-key:: c f
+ M-x notmuch-show-stash-from
+
|docstring::notmuch-show-stash-from|
-``c i`` ``notmuch-show-stash-message-id``
+.. el:define-key:: c i
+ M-x notmuch-show-stash-message-id
+
|docstring::notmuch-show-stash-message-id|
-``c l`` ``notmuch-show-stash-mlarchive-link``
+.. el:define-key:: c l
+ M-x notmuch-show-stash-mlarchive-link
+
|docstring::notmuch-show-stash-mlarchive-link|
-``c s`` ``notmuch-show-stash-subject``
+.. el:define-key:: c s
+ M-x notmuch-show-stash-subject
+
|docstring::notmuch-show-stash-subject|
-``c t`` ``notmuch-show-stash-to``
+.. el:define-key:: c t
+ M-x notmuch-show-stash-to
+
|docstring::notmuch-show-stash-to|
-``c ?``
- Show all available copying commands
+.. el:define-key:: c ?
+ M-x notmuch-subkeymap-help
+
+ Show all available copying commands
.. _emacs-show-duplicates:
Dealing with duplicates
-----------------------
-If there are are multiple files with the same :mailheader:`Message-ID`
+If there are multiple files with the same :mailheader:`Message-ID`
(see :any:`duplicate-files`), then :any:`notmuch-show` displays the
number of duplicates and identifies the current duplicate. In the
following example duplicate 3 of 5 is displayed.
message giving the relative date, the author, subject, and any
tags.
-``c``
+.. el:define-key:: c
+
:ref:`show-copy`
-``<return>``
+.. el:define-key:: <return>
+
Displays that message.
-``N``
+.. el:define-key:: N
+
Move to next message
-``P``
+.. el:define-key:: P
+
Move to previous message
-``n``
+.. el:define-key:: n
+
Move to next matching message
-``p``
+.. el:define-key:: p
+
Move to previous matching message
-``o`` ``notmuch-tree-toggle-order``
+.. el:define-key:: o
+ M-x notmuch-tree-toggle-order
+
|docstring::notmuch-tree-toggle-order|
-``l`` ``notmuch-tree-filter``
+.. el:define-key:: l
+ M-x notmuch-tree-filter
+
Filter or LIMIT the current search results based on an additional query string
-``t`` ``notmuch-tree-filter-by-tag``
+.. el:define-key:: t
+ M-x notmuch-tree-filter-by-tag
+
Filter the current search results based on an additional tag
+.. el:define-key:: i
+
+ Toggle whether to show messages with excluded tags in search results.
+
+.. el:define-key:: g
+ =
-``g`` ``=``
Refresh the buffer
-``?``
+.. el:define-key:: ?
+
Display full set of key bindings
As is the case with :ref:`notmuch-search`, the presentation of results
See also :el:defcustom:`notmuch-search-result-format` and
:el:defcustom:`notmuch-unthreaded-result-format`.
+.. _notmuch-tree-outline:
+
+notmuch-tree-outline
+--------------------
+
+When this mode is set, each thread and subthread in the results
+list is treated as a foldable section, with its first message as
+its header.
+
+The mode just makes available in the tree buffer all the
+keybindings in info:emacs#Outline_Mode, and binds the following
+additional keys:
+
+.. el:define-key:: <tab>
+
+ Cycle visibility state of the current message's tree.
+
+.. el:define-key:: <M-tab>
+
+ Cycle visibility state of all trees in the buffer.
+
+The behaviour of this minor mode is affected by the following
+customizable variables:
+
+.. el:defcustom:: notmuch-tree-outline-enabled
+
+ |docstring::notmuch-tree-outline-enabled|
+
+.. el:defcustom:: notmuch-tree-outline-visibility
+
+ |docstring::notmuch-tree-outline-visibility|
+
+.. el:defcustom:: notmuch-tree-outline-auto-close
+
+ |docstring::notmuch-tree-outline-auto-close|
+
+.. el:defcustom:: notmuch-tree-outline-open-on-next
+
+ |docstring::notmuch-tree-outline-open-on-next|
.. _notmuch-unthreaded:
Several features are accessible from most places in notmuch through the
following key bindings:
-``j``
+.. el:define-key:: j
+
Jump to saved searches using :ref:`notmuch-jump`.
-``k``
+.. el:define-key:: k
+
Tagging operations using :ref:`notmuch-tag-jump`
-``C-_`` ``C-/`` ``C-x u``: Undo previous tagging operation using :any:`notmuch-tag-undo`
+.. el:define-key:: C-_
+ C-/
+ C-x u
+
+ Undo previous tagging operation using :any:`notmuch-tag-undo`
.. _notmuch-jump:
notmuch-tag-undo
----------------
-Each notmuch buffer supporting tagging operations (i.e buffers in
+Each notmuch buffer supporting tagging operations (i.e. buffers in
:any:`notmuch-show`, :any:`notmuch-search`, :any:`notmuch-tree`, and
:any:`notmuch-unthreaded` mode) keeps a local stack of tagging
operations. These can be undone via :any:`notmuch-tag-undo`. By default