+The main Notmuch message reading client is **notmuch.el**, which is an
+[emacs](http://www.gnu.org/software/emacs/) major mode, and is
+included in the notmuch package.
+
+## Setup
+
+To use the Notmuch emacs mode, first add the following line to your
+.emacs rc file:
+
+ (require 'notmuch)
+
+Then, either run "emacs -f notmuch", or execute the command "M-x
+notmuch" from within a running emacs.
+
+## Navigating & reading mails
+
+When first starting notmuch in emacs, you will be presented with the
+notmuch "hello" page. From here you can do searches, see lists of
+recent searches, saved searches, message tags, help information, etc.
+
+Executing a search will open a new buffer in notmuch-search-mode
+displaying the search results. Each line in the search results
+represents a message thread. Hitting the '?' key will show help for
+this mode.
+
+In general, the 'q' will kill the current notmuch buffer and return
+you to the previous buffer (sort of like a 'pop').
+
+In search mode, navigating to a thread and hitting return will then
+open a new buffer in notmuch-show-mode, which will show the actual
+message contents of the thread.
+
+## Sending mail
+
+In any notmuch mode, you can start a new message by hitting the 'm'
+key. To reply to a message or thread, just hit the 'r' key.
+
+When composing new messages, you will be entered in emacs's
+"message-mode", which is a powerful mode for composing and sending
+messages. When in message move, you can type "C-c ?" for help.
+
+If you would like to use address autocompletion, see the [address
+completion howto](#address_completion)" below.
+
+When you are ready to send a message, type "C-c C-c". By default
+message mode will use your sendmail command to send mail, so make sure
+that works. One annoying standard configuration of message mode is
+that it will hide the sent mail in your emacs frame stack, but it will
+not close it. If you type several mails in an emacs session they will
+accumulate and make switching between buffers more annoying. You can
+avoid that behavior by adding `(setq message-kill-buffer-on-exit t)`
+in your .emacs file which will really close the mail window after
+sending it.
+
+## Attaching files
+
+Using the `M-x mml-attach-file` command, you can attach any file to be
+send with your mail. By default this command is bound to the menu item
+`Attachments--Attach File` with the key binding `C-c C-a`. The
+variable `mml-dnd-attach-options` (M-x
+customize-variable<RET>`mml-dnd-attach-options`) can be set to allow
+the prompting for various attachment options (such as
+inline/attachement) if you want to do that.
+
+For those who prefer graphics, you can also simply drag and drop files
+from a file manager into a mail composition window to have it attached
+(assuming you are using emacs with X support). At least in Ubuntu it
+works by dragging from the file manager without any modifications.
+
+-----
+
+<h2 id="advanced_tips">Advanced tips and tweaks</h2>
+
+* <span id="custom_keybinding">**Add a keybinding to add/remove/toggle a tag.**</span>
+
+ Here's an example of how to add a key binding to notmuch-show-mode
+ to toggle a "deleted" tag:
+
+ (define-key notmuch-show-mode-map "d"
+ (lambda ()
+ "toggle deleted tag for message"
+ (interactive)
+ (if (member "deleted" (notmuch-show-get-tags))
+ (notmuch-show-remove-tag "deleted")
+ (notmuch-show-add-tag "deleted"))))
+
+ You can do the same for threads in notmuch-search-mode by just
+ replacing "show" with "search" in the called functions. This
+ definition makes use of a lambda function, but you could just as
+ easily defined a separate function first:
+
+ (defun notmuch-show-toggle-deleted-tag()
+ "toggle deleted tag for message"
+ (interactive)
+ (if (member "deleted" (notmuch-show-get-tags))
+ (notmuch-show-remove-tag "deleted")
+ (notmuch-show-add-tag "deleted")))
+ (define-key notmuch-show-mode-map "d" 'notmuch-show-toggle-deleted-tag)
+
+* <span id="fcc">**How to do FCC/BCC...**</span>