Edited at

Vim で全角スペースの強調

More than 1 year has passed since last update.

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 の内容は上から順番に実行されるようだ。