]> git.cworth.org Git - notmuch-wiki/blobdiff - emacstips.mdwn
Updated remote usage script to my current version.
[notmuch-wiki] / emacstips.mdwn
index cba784967f1c61ff97266f2ccab0744cee6b2bb4..6275f18fb0f680a4b270b080ea6f1d340543a0e3 100644 (file)
@@ -14,6 +14,10 @@ To use the Notmuch emacs mode, first add the following line to your
 
        (require 'notmuch)
 
+or you can load the package via autoload:
+
+       (autoload 'notmuch "notmuch" "notmuch mail" t)
+
 Then, either run "emacs -f notmuch", or execute the command `M-x
 notmuch` from within a running emacs.
 
@@ -92,6 +96,40 @@ mentioned as script arguments. (Note: The script expects that you have
 
 # Advanced tips and tweaks
 
+## Use separate emacs lisp file for notmuch configuration
+
+Instead of adding notmuch configuration code to `.emacs`, there
+is an option to collect those to a separate file (which is only
+loaded when `notmuch` is invoked). To do this, write, for example
+a file called `~/.emacs.d/my-notmuch.el`:
+
+         ;; my-notmuch.el -- my notmuch mail configuration
+         ;;
+         
+         ;; add here stuff required to be configured *before*
+         ;; notmuch is loaded;
+
+         ; uncomment and modify in case some elisp files are not found in load-path
+         ; (add-to-list 'load-path "~/vc/ext/notmuch/emacs")
+
+         ;; load notmuch 
+         (require 'notmuch)
+
+         ;; add here stuff required to be configured *after*
+         ;; notmuch is loaded;
+               
+         ;(setq user-mail-address (notmuch-user-primary-email)
+         ;      user-full-name (notmuch-user-name))
+
+         ; uncomment & modify if you want to use external smtp server to send mail
+         ; (setq smtpmail-smtp-server "smtp.server.tld"
+         ;       message-send-mail-function 'message-smtpmail-send-it)
+
+Then, add to `.emacs`:
+
+         (autoload 'notmuch "~/.emacs.d/my-notmuch" "notmuch mail" t)
+
+
 ## Add a key binding to add/remove/toggle a tag
 
 The `notmuch-{search,show}-{add,remove}-tag` functions are very useful
@@ -130,6 +168,20 @@ key:
                        (notmuch-show-remove-tag "deleted")
                      (notmuch-show-add-tag "deleted"))))
 
+## Restore reply-to-all key binding to 'r'
+
+Starting from notmuch 0.12 the 'r' key is bound to reply-to-sender instead of
+reply-to-all. Here's how to swap the reply to sender/all bindings in show mode:
+
+               (define-key notmuch-show-mode-map "r" 'notmuch-show-reply)
+               (define-key notmuch-show-mode-map "R" 'notmuch-show-reply-sender)
+
+And in search mode:
+
+               (define-key notmuch-search-mode-map "r" 'notmuch-search-reply-to-thread)
+               (define-key notmuch-search-mode-map "R" 'notmuch-search-reply-to-thread-sender)
+
+
 ## How to do FCC/BCC...
 
 The Emacs interface to notmuch will automatically add an `Fcc`
@@ -267,7 +319,7 @@ address autocompletion.
 
 You can also use the notmuch database as a mail address book itself.
 To do this you need a command line tool that outputs likely address
-candidates based on a search string.  There are currently two
+candidates based on a search string.  There are currently three
 available:
 
   * The python tool `notmuch_address.py` (`git clone
@@ -283,7 +335,11 @@ available:
 
                     cc -o addrlookup addrlookup.c `pkg-config --cflags --libs gobject-2.0` -lnotmuch
 
-You can perform tab-completion using either of these programs. Just add the following to your .emacs:
+  * Shell/fgrep/perl combination [nottoomuch-addresses.sh](http://www.iki.fi/too/nottoomuch/nottoomuch-addresses/). 
+    This tools maintains it's own address "database" gathered from email
+    files notmuch knows and search from that "database" is done by fgrep(1).
+
+You can perform tab-completion using any of these programs. Just add the following to your .emacs:
 
     (require 'notmuch-address)
     (setq notmuch-address-command "/path/to/address_fetching_program")
@@ -310,3 +366,11 @@ is not required).
 Alternatively, you may prefer to use `mml-secure-message-sign-pgpmime` instead
 of `mml-secure-sign-pgpmime` to sign the whole message instead of just one
 part.
+
+### Troubleshooting message-mode gpg support
+
+- If you have trouble with expired subkeys, you may have encounted
+  emacs bug #7931.  This is fixed in git commit 301ea744c on
+  2011-02-02.  Note that if you have the Debian package easypg
+  installed, it will shadow the fixed version of easypg included with
+  emacs.