File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -440,7 +440,8 @@ function! s:ApplyConfig(config) abort " Set the buffer options {{{1
440440 autocmd ! BufWritePre <buffer>
441441 if s: IsRuleActive (' trim_trailing_whitespace' , a: config ) &&
442442 \ get (a: config , ' trim_trailing_whitespace' , ' false' ) == # ' true'
443- autocmd BufWritePre <buffer> call s: TrimTrailingWhitespace ()
443+ autocmd InsertEnter <buffer> let s: pos_on_insert_enter = getpos (' .' )
444+ autocmd InsertLeave <buffer> call s: TrimTrailingWhitespace ()
444445 endif
445446 augroup END
446447
@@ -500,10 +501,11 @@ endfunction
500501
501502function ! s: TrimTrailingWhitespace () " {{{1
502503 if &l: modifiable
504+ let pos = getpos (' .' )
503505 " don't lose user position when trimming trailing whitespace
504506 let s: view = winsaveview ()
505507 try
506- silent ! keeppatterns keepjumps % s /\s\+$/ /e
508+ execute ' silent! keeppatterns keepjumps : ' . s: pos_on_insert_enter [ 1 ] . ' , ' . pos[ 1 ] . ' s /\s\+$//e'
507509 finally
508510 call winrestview (s: view )
509511 endtry
You can’t perform that action at this time.
0 commit comments