LoginSignup
29
19

More than 3 years have passed since last update.

Vimでウィンドウを出るときに明かりを消す

Last updated at Posted at 2019-06-15

バクダンくんだよ。
最近のVimのアップデートのおかげで簡単に非アクティブウィンドウを暗くすることができたから紹介するよ。

こんなかんじ↓
qiita.gif

解説

Vimでは通常のテキストや背景はNormalハイライトグループが決定しているよ。
ハイライトグループは全ウィンドウで共有なので、今まで通常のテキストや背景は全ウィンドウで同じ色が使われていたけど、最近のアップデート(8.1.1391)でウィンドウごとにNormalの代わりに使うハイライトグループを指定できる'wincolor'オプションが追加されたよ。

'wincolor'は元々ポップアップウィンドウの背景を指定するために作られたオプションっぽいけど、普通のウィンドウでも普通に使えるので、以下のような設定をvimrcに書くだけでカレントウィンドウ以外を暗くすることができちゃうのだ。

" 色はお使いのカラースキームに合わせて変えてちょ
autocmd ColorScheme * highlight NormalNC guifg=#a0a0a0 guibg=#121212
autocmd WinEnter,BufWinEnter * setlocal wincolor=
autocmd WinLeave * setlocal wincolor=NormalNC

みんなも部屋を出るときは明かりを消して節電しよう。

なお

  • terminalウィンドウには効かないよ。
  • ハイライトされている文字の色は変わらないよ。
  • 一応今までも同じようなことを(半ば強引に)実現するプラグイン(vim-diminactive)はあったみたい。
  • NeovimはNormalNCを指定するだけでできちゃうよ。なんだって?
29
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
19