Hack #234: Vim外にいるときはVimを透けさせる
Posted at 2011/10/05ツイート
こんにちは、ujihisaです。無事引っ越しが完了しましたが、インターネット回線の確保にはもうしばらく時間がかかるらしく、しばらく家でオフラインな状態です。ちなみに来日することが決まりました。こんなカンファレンスや、勉強会を企画してみました。いずれも来月です。
問題
Vim使いの大半は、Vimをフルスクリーンで使っていることと思います。このとき、WindowのfocusがVimの窓にあるときは別に構わないのですが、focusがVimの外にあるときに、つねに背景がVimになってしまいます。せっかくファンシーなデスクトップの壁紙を設定しているのに、システム起動直後と終了直前にしか見れないのは、いささか寂しいものです。
解決
VimにはFocusGained
とFocusLost
というイベントがあります。これを用いてVimの透明度を変更すると、とてもいい感じになります。
参考までに、著者のMacVimのための設定を以下に掲載します。~/.vimrc
ではなく~/.gvimrc
に記述してください。
augroup hack234
autocmd!
if has('mac')
autocmd FocusGained * set transparency=10
autocmd FocusLost * set transparency=50
endif
augroup END
普段は透明度10 (ほとんど不透明)にしており、focusがないときは透明度50 (かなり透明) にしています。筆者のGentoo上のGVimは'transparency'
をサポートしていないため、if has('mac')
で条件分岐しています。
追記
mattnさんがWindows版GVimでも動作するためのプロジェクトを発動させたようです。
ujihisaもどる
blog comments powered by Disqus