vim で全角スペースを強調する設定をしたので、メモ。
以下のように highlight
を利用し、全角スペースのハイライトを試みた。
しかし、環境によっては colorsheme
によってハイライトが上書きされてしまう。
(colorscheme
が vim 実行中に動的に呼び出され続けるのだろうか?)
colorscheme
を使わなければ解決するのだが、colorscheme
は使いたい。
.vimrc(失敗例1)
" 全角スペースの背景を白に変更
highlight FullWidthSpace ctermbg=white
match FullWidthSpace / / " ← 見えないけど全角スペースがあります
" カラースキームの設定
colorscheme desert
そこで、autocmd
を使う。
そうすると colorsheme
の呼び出し時に
ハイライトの状態を上書きすることができる。
.vimrc
" 全角スペースの背景を白に変更
autocmd Colorscheme * highlight FullWidthSpace ctermbg=white
autocmd VimEnter * match FullWidthSpace / /
" カラースキームの設定
colorscheme desert
これで全角スペースが強調されるようになった。
ちなみに、以下のように colorscheme ~
と autocmd Colorscheme * ~
の順番を入れ替えると、vim 起動時にエラーが出る。
.vimrc(失敗例2)
" カラースキームの設定
colorscheme desert
" 全角スペースの背景を白に変更
autocmd Colorscheme * highlight FullWidthSpace ctermbg=white
autocmd VimEnter * match FullWidthSpace / /
どうやら .vimrc の内容は上から順番に実行されるようだ。