Hail2u.net

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グループに直接ぶち込んでもいいような気もする。