Why not simply use Notmuch::Database.add_message? Would save a system-call. One could easily copy the sent mail into nm_db_path/sent/cur, add it to the db, tag it. Though I don't know enough about maildir handling, but probably rubys Mail module could help here. Another issue is configuration. Hardcoding "Sent" probably won't fit everyones needs. And (if I understand DOCS correctly) db.add_message doesn't even force you to keep sent mail folder inside db_path; correct me if I'm wrong :) notmuch --insert will put it into folder relative to db_path. All in all the feature and the the rest of your work is very much appreciated! Franz On Mon, 6 Oct 2014 11:10:36 -0700, Ian Main <imain@stemwinder.org> wrote: > Add an option to use 'notmuch insert' to save your sent mail. > --- > > Add -inbox as well. > > vim/notmuch.vim | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/vim/notmuch.vim b/vim/notmuch.vim > index 331e930..a9044c4 100644 > --- a/vim/notmuch.vim > +++ b/vim/notmuch.vim > @@ -58,6 +58,7 @@ let s:notmuch_date_format_default = '%d.%m.%y' > let s:notmuch_datetime_format_default = '%d.%m.%y %H:%M:%S' > let s:notmuch_reader_default = 'mutt -f %s' > let s:notmuch_sendmail_default = 'sendmail' > +let s:notmuch_save_sent_locally_default = 1 > let s:notmuch_folders_count_threads_default = 0 > > function! s:new_file_buffer(type, fname) > @@ -108,6 +109,18 @@ EOF > echohl None > return > endif > + > + if g:notmuch_save_sent_locally > + let out = system('cat ' . fname . ' | notmuch insert --create-folder --folder=Sent +sent -unread -inbox') > + let err = v:shell_error > + if err > + echohl Error > + echo 'Eeek! unable to save sent mail' > + echo out > + echohl None > + return > + endif > + endif > call delete(fname) > echo 'Mail sent successfully.' > call s:kill_this_buffer() > @@ -388,6 +401,10 @@ endfunction > "" root > > function! s:set_defaults() > + if !exists('g:notmuch_save_sent_locally') > + let g:notmuch_save_sent_locally = s:notmuch_save_sent_locally_default > + endif > + > if !exists('g:notmuch_date_format') > if exists('g:notmuch_rb_date_format') > let g:notmuch_date_format = g:notmuch_rb_date_format > -- > 1.9.3 > > _______________________________________________ > notmuch mailing list > notmuch@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch