From 44a75be8dde590f8189fc53d1564868b1d03967c Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 30 Aug 2018 11:30:06 +1200 Subject: Spin out repeated blank lines map to new plugin --- .gitmodules | 3 +++ vim/after/ftplugin/mail.vim | 12 +++++++----- vim/bundle/squeeze_repeat_blanks | 1 + vim/vimrc | 6 ++++++ 4 files changed, 17 insertions(+), 5 deletions(-) create mode 160000 vim/bundle/squeeze_repeat_blanks diff --git a/.gitmodules b/.gitmodules index ebf3872a..6d232f3e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -53,6 +53,9 @@ [submodule "vim/bundle/shebang_create_exec"] path = vim/bundle/shebang_create_exec url = https://sanctum.geek.nz/code/vim-shebang-create-exec.git +[submodule "vim/bundle/squeeze_repeat_blanks"] + path = vim/bundle/squeeze_repeat_blanks + url = https://sanctum.geek.nz/code/vim-squeeze-repeat-blanks.git [submodule "vim/bundle/strip_trailing_whitespace"] path = vim/bundle/strip_trailing_whitespace url = https://sanctum.geek.nz/code/vim-strip-trailing-whitespace.git diff --git a/vim/after/ftplugin/mail.vim b/vim/after/ftplugin/mail.vim index df0f043d..609cd92f 100644 --- a/vim/after/ftplugin/mail.vim +++ b/vim/after/ftplugin/mail.vim @@ -29,6 +29,13 @@ endif setlocal formatoptions+=w let b:undo_ftplugin .= '|setlocal formatoptions<' +" Define what constitutes a 'blank line' for the squeeze_repeat_blanks.vim +" plugin, if loaded, to include leading quotes and spaces +if exists('g:loaded_squeeze_repeat_blanks') + let b:squeeze_repeat_blanks_blank = '^[ >]*$' + let b:undo_ftplugin .= '|unlet b:squeeze_repeat_blanks_blank' +endif + " Stop here if the user doesn't want ftplugin mappings if exists('g:no_plugin_maps') || exists('g:no_mail_maps') finish @@ -83,8 +90,3 @@ let b:undo_ftplugin .= '|nunmap [' \ . '|ounmap ]' \ . '|xunmap [' \ . '|xunmap ]' - -" Quick map to strip multiple blank lines in the entire buffer; this comes up -" a lot when replying to stripped HTML mail -nnoremap x - \ :call mail#ContractMultipleBlankLines() diff --git a/vim/bundle/squeeze_repeat_blanks b/vim/bundle/squeeze_repeat_blanks new file mode 160000 index 00000000..e0e624a9 --- /dev/null +++ b/vim/bundle/squeeze_repeat_blanks @@ -0,0 +1 @@ +Subproject commit e0e624a9b467c9b99de5bd76c9eda73c0701464c diff --git a/vim/vimrc b/vim/vimrc index 80587d35..caa52867 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -365,6 +365,12 @@ if exists(':xmap') xmap x :StripTrailingWhitespace endif +" \X squeezes repeated blank lines via a custom plugin +nmap X :SqueezeRepeatBlanks +if exists(':xmap') + xmap X :SqueezeRepeatBlanks +endif + " \y shows all registers nnoremap y :registers -- cgit v1.2.3