Vim: destaque e pule para o espaço em branco posterior

Aqui estão alguns comandos em meu .vimrc que irão realçar a sintaxe de qualquer espaço em branco à direita (estilo git) com um fundo vermelho, bem como alguns mapeamentos para pular direto para esses infratores. As sequências de teclas do modo normal mapeadas são [<Espaço> e] <Espaço>.

"Highlight extra whitespace on blank lines or after semi-colons
hi FrivolousWhitespace ctermbg=red guibg=#ff0000

match FrivolousWhitespace /s+^/



"
Jump to trailing whitespace
nnoremap
]<Space> :silent! :SS /s+$<CR>
nnoremap
[<Space> :silent! :SS ?s+$<CR>

O comando “: SS” usado nesses mapeamentos é uma função que permite usar a pesquisa em mapeamentos sem afetar os registros de pesquisa pré-existentes ou deixar feios realces para trás. (Gostaria de dar o crédito à fonte do SafeSearch, mas perdi o link. Se alguém souber ou possuir este comando, por favor me avise nos comentários).

" Executes a command (across a given range) and restores the search register
"
when done.
" Basically, :SS followed by any command will execute that command (to
"
simulate keystrokes, use :normal as the command) and restore the search
" register when it's done. :S is a replacement for :s which works EXACTLY the
"
same way (with or without range, flags etc) but doesn't clobber the search
" register in the process

function! SafeSearchCommand(line1, line2, theCommand)

let search = @/

execute a:line1 . "," . a:line2 . a:theCommand

let @/ = search

endfunction

com! -range -nargs=+ SS call SafeSearchCommand(<line1>, <line2>, <q-args>)

" A nicer version of :s that doesn'
t clobber the search register
com
! -range -nargs=* S call SafeSearchCommand(<line1>, <line2>, 's' . <q-args>)