-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
Thursday, December 29, 2011
Re: mutt and vim playing together
On Thursday, December 29, 2011 07:00:59 Kai Weber wrote: > Hi, > I use vim in combination with mutt. To start vim I have > following setting in my muttrc: [snip] > Any other recommendations for a good mail editing workflow? when i used mutt i liked having the flexibility of a mail script for vim, so i put     set editor="vim -S ~/.vim/mail.vim" in my ~/.muttrc you can get as fancy or as simple as you want in that script here's mine: <mail.vim> "  mail mode settings setlocal ft=mail setlocal tw=64 let @n = '>  kki' " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if has("gui_running")     winpos 324 228     set columns=70     set lines=35 endif " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nmap <silent> <F1> :call F1_formatter("64")<CR> imap <silent> <F1> <C-O>:call F1_formatter("64")<CR> nmap <S-F1> :call F1_toggle_width("64")<CR> imap <S-F1> <C-O>:call F1_toggle_width("64")<CR> " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ let mapleader = ',' nnoremap <Leader>ee :source ~/.vim/mail.vim<CR> nnoremap <Leader>ev :edit ~/.vim/mail.vim<CR> " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "  clean up quoting silent %s/^>  /> /e silent %s/^> $//e " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </mail.vim> now for example while in insert mode i can use ctrl-r n to insert my remarks inside quoted text grrrr -- kmail has bolixed what i have in there for @n it should look like     let @n = '^M^M^M^M> ^[kki'  where each ^M is an actual return (i should go back to using mutt :) for your purposes you might want to add function! FirstBlankAtEnd()     let go = NumberBlankLinesAtEnd() - 1     normal G     if (go > 0)         execute 'normal ' go . 'k'     endif endfunction function! NumberBlankLinesAtEnd()     let s:bc = 0     let s:lp = line("$")     while s:lp > 0         let s:tl = strlen(getline(s:lp))         if (s:tl > 0)             let s:lp = 0         else             let s:bc = s:bc + 1             let s:lp = s:lp - 1         endif     endwhile     return s:bc endfunction and add a call to FirstBlankAtEnd to your editor command in .muttrc something to play around with if you want to get fancy 
No comments:
Post a Comment