Vimで全角や行末スペースをハイライト

今まで:matchで全角スペースのハイライトだけはやってたんだけど、行末のスペースを残したまんまなミスが最近多いのでそれもハイライトしようとした。ヘルプを見たら:2matchとかできるけど:3matchまでしかないからmatchadd()使ってねと書いてあった。matchadd()でやりたいことは実現できたんだけど、かなりちゃんとスクリプト書かないとマッチのリストが肥大化しちゃう感じでアレな気がしので、syntaxをふわっと追加する感じで実現することにした。

scriptencoding utf-8

" Additional highlights
augroup AdditionalHighlights
	autocmd!

	" Trailing spaces
	autocmd ColorScheme * highlight link TrailingSpaces Error
	autocmd Syntax * syntax match TrailingSpaces containedin=ALL /\s\+$/

	" Zenkaku space
	autocmd ColorScheme * highlight link ZenkakuSpace Error
	autocmd Syntax * syntax match ZenkakuSpace containedin=ALL / /
augroup END

Errorグループに直接ぶち込んでもいいような気もする。