diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2018-08-29 11:08:40 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2018-08-29 11:08:40 +1200 |
commit | 197bd52242010b7060b132456757ace5294775f2 (patch) | |
tree | b50fa3b3b38bad218448a31fc4d1b18106d91495 /vim/autoload/mail.vim | |
parent | Merge branch 'release/v1.62.0' (diff) | |
parent | Bump VERSION (diff) | |
download | dotfiles-1.63.0.tar.gz (sig) dotfiles-1.63.0.zip |
Merge branch 'release/v1.63.0'v1.63.0
* release/v1.63.0:
Bump VERSION
Add mapping to contract multiple blank lines
Convert a few stridx() to alternative forms
Diffstat (limited to 'vim/autoload/mail.vim')
-rw-r--r-- | vim/autoload/mail.vim | 20 |
1 files changed, 20 insertions, 0 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 |