listchars=trail:$してたら気持ち悪いのでbuffer保存時に行末スペースを削除するようにした

行末スペースはコードをぐんにょりさせる原因の一つなので注意を促す意味で表示させるようにしたけど、

list
listchars=trail:$

コード書いてたり文章書いていても常に表示されるようになって、すごい気持ち悪くなったので、buffer保存時に行末スペースを削除するようにしました。

command! -bang -bar -complete=file -nargs=0 DeleteSpaceEachLine
\ execute ':%s/\s\+$//'

function! s:AutoUpdate()
  if expand('%') =~ s:savebuf_regex && !&readonly && &buftype == ''
    silent! DeleteSpaceEachLine
    silent update
  endif
endfunction

autocmd MyAutoCmd CursorHold * call s:AutoUpdate()
set updatetime=500
if !exists('s:savebuf')
  let s:savebuf_regex = '.\+'
endif

こっちの方が削除し忘れがないし便利。