aboutsummaryrefslogtreecommitdiff
path: root/files/.vim/after/ftplugin/mail.vim
blob: ee2bde97caf496fbf52b2f9be608c677c18ec12a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
set spell
set expandtab
set nonumber
set imsearch=1
set iminsert=1
set colorcolumn=+1

" par options
"
" e[expel]
"
"       If expel is 1, superfluous lines are withheld from the output  .
"       Defaults to 0                                                  .
"
" g[guess]
"
"       If guess is 1, then when par is choosing line breaks, whenever
"       it encounters a curious word followed by a capitalized word, it
"       takes one of two special actions. If the two words are separated
"       by a single space in the input, they will be merged into one
"       word with an embedded non-breaking space. If the two words are
"       separated by more than one space, or by a line break, par will
"       insure that they are separated by two spaces, or by a line
"       break, in the output. Defaults to 0.
"
" q[quote]
"
"       If quote is 1, then before each segment is scanned for bodiless
"       lines, par supplies vacant lines between different quotation
"       nesting levels as follows: For each pair of adjacent lines in
"       the segment, (scanned from the top down) which have different
"       quoteprefixes, one of two actions is taken. If invis is 0, and
"       either line consists entirely of quote characters and spaces
"       (or is empty), that line is truncated to the longest common
"       prefix of the two lines (both are truncated if both qualify).
"       Otherwise, a line consisting of the longest common prefix of
"       the two lines is inserted between them. quote also affects the
"       default value of prefix. Defaults to 0. (See also the p and i
"       options.)
"
vmap <F4> :!par 72qeg<CR>gv:s/\v\s*$//<CR>:nohl<CR>

function! <SID>DeleteTrailingWhitespace()
    if ! &binary
        let l:l = line('.')
        let l:c = col('.')
        silent! :%s/[\r \t]\+$//
        call histdel('search', -1)
        call cursor(l:l, l:c)
    endif
endfunction
autocmd BufWritePre,FileWritePre * call <SID>DeleteTrailingWhitespace()