【Vim】カラースキームを切り替えるたった一つのさえたやりかた


おもしろいカラースキームを見つけました。Vim を起動すると部屋の明るさに併せて明暗二種のカラースキームを切り替えてくれます。

部屋が明るいとき

部屋が明るいとき

部屋が暗いとき

部屋が暗いとき

plum – Light & Dark colorscheme with ambient light detection (for Mac users) : vim online
http://www.vim.org/scripts/script.php?script_id=4660
https://github.com/gcmt/plum.vim

どんな仕組みかと思ったら、Macbook Air についている前面カメラを使って明るさを測定しているんですね。だから(カメラのついている)Mac 限定の機能です。

インストール

インストールは NeoBundle を使うと便利です。

NeoBundle 'gcmt/plum.vim', {
      \     'build': {
      \         'mac': 'sh install.sh',
      \     },
      \ }

これによってインストールされる bin/plum_ambient_light というプログラムが部屋の明るさを数値で返してくれます。

/Users/delphinus/git/dotfiles/.vim/bundle/plum.vim
vimshell% bin/plum_ambient_light
2643480

設定

ドキュメントには次のようにあります。

閾値は任意に決めることが出来ます。明るさセンサーは 最大 67,092,408 という値を返しますが、私が試したところ、屋内では 最大 2,000,000 くらいの値を返すようです。デフォルトでは、画面を暗くする閾値として 120,000 という値を設定してあります。

let g:plum_threshold = get(g:, "plum_threshold", 120000)

この g:plum_threshold.vimrc 辺りで好きな値に変えると良いでしょう。

他の OS では……

明暗の切り替えは Solarized などと同じく、background オプションの切り替えでも可能です。

" 明るくする
set background=light
" 暗くする
set background=dark

以前紹介した sunset.vim なんかを使うと、これを日の出・日の入りに併せて自動で切り替えてくれますので便利ですよ。

【Vim】日の出・日の入りとともにテーマを切り替える | blog.remora.cx
http://blog.remora.cx/2012/10/change-color-with-sunrise-and-sunset.html

コメントを残す