if exists('loaded_trailing_whitespace_plugin') | finish | endif let loaded_trailing_whitespace_plugin = 1 if !exists('g:extra_whitespace_ignored_filetypes') let g:extra_whitespace_ignored_filetypes = [] endif function! ShouldMatchWhitespace() for ft in g:extra_whitespace_ignored_filetypes if ft ==# &filetype | return 0 | endif endfor return 1 endfunction " Highlight EOL whitespace, http://vim.wikia.com/wiki/Highlight_unwanted_spaces highlight default ExtraWhitespace ctermbg=darkred guibg=#382424 autocmd ColorScheme * highlight ExtraWhitespace ctermbg=red guibg=red autocmd BufRead,BufNew * if ShouldMatchWhitespace() | match ExtraWhitespace /\s\+$/ | else | match ExtraWhitespace /^^/ | endif " The above flashes annoyingly while typing, be calmer in insert mode autocmd InsertLeave * if ShouldMatchWhitespace() | match ExtraWhitespace /\s\+$/ | endif autocmd InsertEnter * if ShouldMatchWhitespace() | match ExtraWhitespace /\s\+\%#\@FixWhitespace(,)