From de0040e0061b6aba73409a4083f7505acd20569e Mon Sep 17 00:00:00 2001 From: gryf Date: Tue, 7 Feb 2017 18:55:18 +0100 Subject: [PATCH] Added stripping whitespace for visually selected range --- vimrc | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/vimrc b/vimrc index 63b9d4c..a29e989 100644 --- a/vimrc +++ b/vimrc @@ -316,7 +316,8 @@ map :QFix map :LWin "remove trailing whitespaces -nnoremap e :StripTrailingWhitespaces! +nnoremap e :call StripTrailingWhitespaces(1, 'n') +vnoremap e :call StripTrailingWhitespaces(1, 'v') " copy current buffer filename (full path) nmap ,cn :silent call CopyFileName(1) @@ -371,7 +372,7 @@ function Make() endfunction " Remove trailing whitespace -function StripTrailingWhitespaces(force) +function StripTrailingWhitespaces(force, mode) range if a:force != 1 && g:stripTrailingWhitespace == 0 return endif @@ -382,13 +383,17 @@ function StripTrailingWhitespaces(force) let l = line(".") let c = col(".") " Do the business: - %s/\s\+$//e + if a:mode == 'v' + '<,'>s/\s\+$//e + else + %s/\s\+$//e + endif " Clean up: restore previous search history, and cursor position let @/=_s call cursor(l, c) endif endfunction -command -bang StripTrailingWhitespaces call StripTrailingWhitespaces(0) +command -bang StripTrailingWhitespaces call StripTrailingWhitespaces(0, 'n') function CopyFileName(full) if a:full