nmap :w:%!mailplate --keep-unknown official nmap :w:%!mailplate --keep-unknown private nmap :w:%!mailplate --keep-unknown debian nmap :w:%!mailplate --keep-unknown phd nmap :w:%!mailplate --keep-unknown ul nmap :w:%!mailplate --keep-unknown uzh nmap :w:%!mailplate --keep-unknown sudetia nmap :w:%!mailplate --auto --keep-unknown 2>/dev/null " Checking attachments in edited emails for use in Mutt: warns user when " exiting " by Hugo Haas - 20 June 2004 " based on an idea by The Doctor What explained at " " http://www.vim.org/scripts/download_script.php?src_id=3165 autocmd BufUnload mutt-* call CheckAttachments() function! CheckAttachments() let l:english = 'attach\(ing\|ed\|ment\)\?\|included\_swith\_sthis\_smail' let l:french = 'attach\(e\|er\|ée\?s\?\|ement\|ant\)' let l:german = 'an\(gehängt\|hängsel\|bei\)\|bei\(gefügt\|lage\)\|\(im\|siehe\)\_s\(anhang\|beilage\)' let l:ic = &ignorecase if (l:ic == 0) set ignorecase endif if (search('^\([^>|].*\)\?\<\(re-\?\)\?\('.l:english.'\|'.l:german.'\)\>', "w") != 0) let l:temp = inputdialog("Do you want to attach a file? [Hit return] ") endif if (l:ic == 0) set noignorecase endif echo endfunction " change subject line " Before: Subject: old " After : Subject: New (was: old) " http://strcat.de/wiki/dotfiles#vim " map ,sw 1G/^Subject: :s/Re:/was:/Wi ($)0Whi map ns 1G/^Subject: /:s,\(Subject: \)\(Re: \)*\(.*\)$,\1 (was: \3),:set nohlsf li " Delete 'was' in the Subject. " Before: Subject: New (was: old) " After : Subject: New " http://strcat.de/wiki/dotfiles#vim map dw 1G/^Subject: /:s, *(was: .*)$:set nohlsf l " http://dollyfish.net.nz/blog/2008-04-01/mutt-and-vim-custom-autocompletion fun! LBDBCompleteFn(findstart, base) let line = getline('.') if a:findstart " locate the start of the word let start = col('.') - 1 while start > 0 && line[start - 1] =~ '[^:,]' let start -= 1 endwhile while start < col('.') && line[start] =~ '[:, ]' let start += 1 endwhile return start else let res = [] let query = substitute(a:base, '"', '', 'g') let query = substitute(query, '\s*<.*>\s*', '', 'g') for m in LbdbQuery(query) call complete_add(printf('"%s" <%s>', escape(m[0], '"'), m[1])) if complete_check() break endif endfor return res endif endfun set completefunc=LBDBCompleteFn " And this magic by James Vega, which ensures that we only complete with lbdb " on the recipient lines of the mail header. inoremap DelegateCompletion(1) inoremap DelegateCompletion(1) inoremap DelegateCompletion(0) inoremap DelegateCompletion(0) fun! DelegateCompletion(next) if getline('.') =~? '^\%(To\|B\=Cc\):' return "\x18\x15" elseif a:next return "\x0e" else return "\x10" endif endfun