-This directory contains a vim script that allows reading notmuch mail
-through vim.
+== notmuch vim ruby ==
-NOTE: this is a work in progress. Patches welcome. <bart@jukie.net>
+This is a vim plug-in that provides a fully usable mail client interface,
+utilizing the notmuch framework, through it's ruby bindings.
-Dependencies:
- notmuch:
- Naturally, it expects you have notmuch installed and configured.
+== install ==
- mail:
- To send mail, notmuch.vim uses the UNIX mail command.
+Simply run 'make install'. However, check that you have the depencies below.
- git-diff:
- The vim interface makes use of the git-diff.vim syntax file
- which is available from
- http://github.com/motemen/git-vim/blob/master/syntax/git-diff.vim
+=== vim +ruby ===
+Make sure your vim version has ruby support: check for +ruby in 'vim --version'
+features.
-To install:
- make install
+=== ruby bindings ===
+Check if you are able to run the following command cleanly:
-To run:
- vim -c ':NotMuch'
+ % ruby -e "require 'notmuch'"
- from vim:
- :NotMuch
+If you don't see any errors, it means it's working and you can go to the next
+section.
+If it's not, you would need to compile them. Go to the 'bindings/ruby'
+directory in the notmuch source tree.
-Buffer types:
- [notmuch-folders]
- Folder list, or technically a list of saved searches.
+=== mail gem ===
- Keybindings:
- <Enter> - show the selected search
- s - enter search criteria
- = - refresh display
+Since libnotmuch library concentrates on things other than handling mail, we
+need a library to do that, and for Ruby the best library for that is called
+'mail'. The easiest way to install it is with ruby's gem. In most distro's the
+package is called 'rubygems'.
- [notmuch-search]
- You are presented with the search results when you run :NotMuch.
+Once you have gem, run:
- Keybindings:
- <Enter> - show the selected message
- a - archive message (remove inbox tag)
- f - filter the current search terms
- o - toggle search screen order
- s - enter search criteria
- ,s - alter search criteria
- t - filter the current search terms with tags
- q - return to folder display, or undo filter
- + - add tag(s) to selected message
- - - remove tag(s) from selected message
- = - refresh display
- ? - reveal the thread ID of what's under cursor
- ^] - search using word under cursor
+ % gem install mail
- [notmuch-show]
- This is the display of the message.
+In some systems gems are installed on a per-user basis by default, so make sure
+you are running as the same user as the one that installed them.
- Keybindings:
- <Space> - mark read, archive, go to next matching message
- ^n - next message
- ^p - previous message
- b - toggle folding of message bodies
- c - toggle folding of citations
- h - toggle folding of extra header lines
- s - toggle folding of signatures
- q - return to search display
- ? - reveal the message and thread IDs of what's under cursor
- ^] - search using word under cursor
+This gem is not mandatory, but it's extremely recommended.
+== Running ==
+
+Simple:
+
+ % gvim -c ':NotMuch'
+
+Enjoy ;)
+
+== More stuff ==
+
+As an example to configure a key mapping to add the tag 'to-do' and archive,
+this is what I use:
+
+let g:notmuch_rb_custom_search_maps = {
+ \ 't': 'search_tag("+to-do -inbox")',
+ \ }
+
+let g:notmuch_rb_custom_show_maps = {
+ \ 't': 'show_tag("+to-do -inbox")',
+ \ }