vim-users.jp

Hack #234: Vim外にいるときはVimを透けさせる

Posted at 2011/10/05
このエントリーをはてなブックマークに追加

こんにちは、ujihisaです。無事引っ越しが完了しましたが、インターネット回線の確保にはもうしばらく時間がかかるらしく、しばらく家でオフラインな状態です。ちなみに来日することが決まりました。こんなカンファレンスや、勉強会を企画してみました。いずれも来月です。

問題

Vim使いの大半は、Vimをフルスクリーンで使っていることと思います。このとき、WindowのfocusがVimの窓にあるときは別に構わないのですが、focusがVimの外にあるときに、つねに背景がVimになってしまいます。せっかくファンシーなデスクトップの壁紙を設定しているのに、システム起動直後と終了直前にしか見れないのは、いささか寂しいものです。

解決

VimにはFocusGainedFocusLostというイベントがあります。これを用いて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