summaryrefslogtreecommitdiffstats
path: root/runtime/ftplugin/mail.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/ftplugin/mail.vim')
-rw-r--r--runtime/ftplugin/mail.vim38
1 files changed, 38 insertions, 0 deletions
diff --git a/runtime/ftplugin/mail.vim b/runtime/ftplugin/mail.vim
new file mode 100644
index 0000000..2a6bf4c
--- /dev/null
+++ b/runtime/ftplugin/mail.vim
@@ -0,0 +1,38 @@
+" Vim filetype plugin file
+" Language: Mail
+" Maintainer: Bram Moolenaar <Bram@vim.org>
+" Last Change: 2012 Nov 20
+
+" Only do this when not done yet for this buffer
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl modeline< tw< fo< comments<"
+
+" Don't use modelines in e-mail messages, avoid trojan horses and nasty
+" "jokes" (e.g., setting 'textwidth' to 5).
+setlocal nomodeline
+
+" many people recommend keeping e-mail messages 72 chars wide
+if &tw == 0
+ setlocal tw=72
+endif
+
+" Set 'formatoptions' to break text lines and keep the comment leader ">".
+setlocal fo+=tcql
+
+" Add n:> to 'comments, in case it was removed elsewhere
+setlocal comments+=n:>
+
+" Add mappings, unless the user doesn't want this.
+if !exists("no_plugin_maps") && !exists("no_mail_maps")
+ " Quote text by inserting "> "
+ if !hasmapto('<Plug>MailQuote')
+ vmap <buffer> <LocalLeader>q <Plug>MailQuote
+ nmap <buffer> <LocalLeader>q <Plug>MailQuote
+ endif
+ vnoremap <buffer> <Plug>MailQuote :s/^/> /<CR>:noh<CR>``
+ nnoremap <buffer> <Plug>MailQuote :.,$s/^/> /<CR>:noh<CR>``
+endif