X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=vim%2FREADME;h=c137bacdc0f4f1e3af78cb9617d5fe92f527c53f;hp=8cd3b1a2fe87267697773a1ba81502a12d15907f;hb=HEAD;hpb=c835e2a5059ebc10580f8ae2a79c4f0f81374798 diff --git a/vim/README b/vim/README index 8cd3b1a2..777c20c0 100644 --- a/vim/README +++ b/vim/README @@ -1,90 +1,62 @@ -This directory contains a vim script that allows reading notmuch mail -through vim. - -NOTE: this is a work in progress. Patches welcome. - -Dependencies: - notmuch: - Naturally, it expects you have notmuch installed and configured. - - mail: - To send mail, notmuch.vim uses the UNIX mail command. - - 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 - - -To install: - make install - - -To run: - vim -c ':NotMuch' - - from vim: - :NotMuch - :NotMuch new to:bart@jukie.net 'subject:this is a test' - - -Buffer types: - [notmuch-folders] - Folder list, or technically a list of saved searches. - - Keybindings: - - show the selected search - m - compose a new message - s - enter search criteria - = - refresh display - - [notmuch-search] - You are presented with the search results when you run :NotMuch. - - Keybindings: - - show the selected thread colapsing unmatched items - - show the entire selected thread - a - archive message (remove inbox tag) - f - filter the current search terms - o - toggle search screen order - m - compose a new message - r - reply to thread - 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 - - [notmuch-show] - This is the display of the message. - - Keybindings: - - 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 - i - toggle folding of signatures - m - compose a new message - r - reply to the message - s - enter search criteria - q - return to search display - ? - reveal the message and thread IDs of what's under cursor - ^] - search using word under cursor - - [notmuch-compose] - When you're writing an email, you're in this mode. - - Insert-mode keybindings: - - go to the next header line - - Normal-mode keybindings: - - go to the next header line - ,s - send this message - ,q - abort this message +== notmuch vim ruby == +This is a vim plug-in that provides a fully usable mail client interface, +utilizing the notmuch framework, through it's ruby bindings. + +== install == + +Simply run 'make install'. However, check that you have the dependencies below. + +=== vim +ruby === + +Make sure your vim version has ruby support: check for +ruby in 'vim --version' +features. + +=== ruby bindings === + +Check if you are able to run the following command cleanly: + + % ruby -e "require '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. + +=== mail gem === + +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'. + +Once you have gem, run: + + % gem install mail + +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. + +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_custom_search_maps = { + \ 't': 'search_tag("+to-do -inbox")', + \ } + +let g:notmuch_custom_show_maps = { + \ 't': 'show_tag("+to-do -inbox")', + \ }