neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

mail.vim (1606B)


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