aboutsummaryrefslogtreecommitdiff
path: root/vim/autoload
diff options
context:
space:
mode:
Diffstat (limited to 'vim/autoload')
-rw-r--r--vim/autoload/mail.vim20
-rw-r--r--vim/autoload/quote.vim2
2 files changed, 21 insertions, 1 deletions
diff --git a/vim/autoload/mail.vim b/vim/autoload/mail.vim
index baff4bbf..0c3b7eb7 100644
--- a/vim/autoload/mail.vim
+++ b/vim/autoload/mail.vim
@@ -65,3 +65,23 @@ function! mail#NewBlank(count, up, visual) abort
endif
endfunction
+
+" Quick map to strip multiple blank lines in the entire buffer; this comes up
+" a lot when replying to stripped HTML mail. This should really be a command,
+" but I'll do that Later(TM).
+function! mail#ContractMultipleBlankLines() abort
+ let l:deletions = []
+ let l:blank = 0
+ for l:num in range(1, line('$'))
+ if strlen(getline(l:num)) > 0
+ let l:blank = 0
+ elseif l:blank
+ let l:deletions += [l:num]
+ else
+ let l:blank = 1
+ endif
+ endfor
+ for l:num in reverse(l:deletions)
+ execute l:num . 'delete'
+ endfor
+endfunction
diff --git a/vim/autoload/quote.vim b/vim/autoload/quote.vim
index 35df76a4..2343b12a 100644
--- a/vim/autoload/quote.vim
+++ b/vim/autoload/quote.vim
@@ -27,7 +27,7 @@ function! quote#QuoteOpfunc(type) abort
" Only add a space after the quote character if this line isn't already
" quoted with the same character
- let l:new = stridx(l:cur, l:char) == 0
+ let l:new = l:cur[0] == l:char
\ ? l:char.l:cur
\ : l:char.' '.l:cur
call setline(l:li, l:new)