バクダンくんだよ。
最近のVimのアップデートのおかげで簡単に非アクティブウィンドウを暗くすることができたから紹介するよ。
解説
Vimでは通常のテキストや背景はNormal
ハイライトグループが決定しているよ。
ハイライトグループは全ウィンドウで共有なので、今まで通常のテキストや背景は全ウィンドウで同じ色が使われていたけど、最近のアップデート(8.1.1391)でウィンドウごとにNormal
の代わりに使うハイライトグループを指定できる'wincolor'
オプションが追加されたよ。
'wincolor'
は元々ポップアップウィンドウの背景を指定するために作られたオプションっぽいけど、普通のウィンドウでも普通に使えるので、以下のような設定をvimrcに書くだけでカレントウィンドウ以外を暗くすることができちゃうのだ。
" 色はお使いのカラースキームに合わせて変えてちょ
autocmd ColorScheme * highlight NormalNC guifg=#a0a0a0 guibg=#121212
autocmd WinEnter,BufWinEnter * set wincolor=
autocmd WinLeave * set wincolor=NormalNC
みんなも部屋を出るときは明かりを消して節電しよう。
なお
- terminalウィンドウには効かないよ。
- ハイライトされている文字の色は変わらないよ。
- 一応今までも同じようなことを(半ば強引に)実現するプラグイン(vim-diminactive)はあったみたい。
- Neovimは
NormalNC
を指定するだけでできちゃうよ。なんだって?