1" Vim filetype plugin file 2" Language: Mail 3" Maintainer: Bram Moolenaar <[email protected]> 4" Last Change: 2021 Oct 23 5 6" Only do this when not done yet for this buffer 7if exists("b:did_ftplugin") 8 finish 9endif 10let b:did_ftplugin = 1 11 12let b:undo_ftplugin = "setl modeline< tw< fo< comments<" 13 14" Don't use modelines in e-mail messages, avoid trojan horses and nasty 15" "jokes" (e.g., setting 'textwidth' to 5). 16setlocal nomodeline 17 18" many people recommend keeping e-mail messages 72 chars wide 19if &tw == 0 20 setlocal tw=72 21endif 22 23" Set 'formatoptions' to break text lines and keep the comment leader ">". 24setlocal fo+=tcql 25 26" Add n:> to 'comments, in case it was removed elsewhere 27setlocal comments+=n:> 28 29" .eml files are universally formatted with DOS line-endings, per RFC5322. 30" If the file was not DOS the it will be marked as changed, which is probably 31" a good thing. 32if expand('%:e') ==? 'eml' 33 let b:undo_ftplugin ..= " fileformat=" .. &fileformat 34 setlocal fileformat=dos 35endif 36 37" Add mappings, unless the user doesn't want this. 38if !exists("no_plugin_maps") && !exists("no_mail_maps") 39 " Quote text by inserting "> " 40 if !hasmapto('<Plug>MailQuote') 41 vmap <buffer> <LocalLeader>q <Plug>MailQuote 42 nmap <buffer> <LocalLeader>q <Plug>MailQuote 43 endif 44 vnoremap <buffer> <Plug>MailQuote :s/^/> /<CR>:noh<CR>`` 45 nnoremap <buffer> <Plug>MailQuote :.,$s/^/> /<CR>:noh<CR>`` 46endif 47