Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
23
Help us understand the problem. What is going on with this article?

More than 3 years have passed since last update.

@s4kr4

透明感のあるVim環境をめざして

はじめに

僕は透明感のある作業環境が好きです。
GVimでもiTermでもCygwinでも、なんでもすぐ背景を半透明化したがります。
なんとなく格好いいし、後ろにブラウザや資料を展開していると、いちいちウィンドウを切り替えることなく透かして見ることができて便利です。
しかしVimのカラースキームに背景色が設定されていると、ウィンドウの透過設定が無視され、せっかくの透明感が台無しになってしまいます。
そこで、.vimrcに設定を書き加え、カラースキームの良さはそのままに、背景だけを透明化します。

.vimrc

.vimrcでカラースキームを設定している箇所

.vimrc
colorscheme XXXXX

よりも後の行に、以下を追記します。

.vimrc
highlight Normal ctermbg=NONE guibg=NONE
highlight NonText ctermbg=NONE guibg=NONE
highlight SpecialKey ctermbg=NONE guibg=NONE
highlight EndOfBuffer ctermbg=NONE guibg=NONE

非テキストのctermbgguibgNONEを設定しています。

以下、それぞれのハイライトグループの意味です。

グループ 意味
Normal 通常のテキスト部分
NonText eol, extends, precedes
SpecialKey nbsp, tab, trail
EndOfBuffer バッファ外の行(行頭に~が表示されている行)

EndOfBufferのみ、Vim 7.4.2213 以降のバージョンで使用可能

これで、Vimに透明感を与えることができました。

GUIパーツの非表示化

GVimやMacVimでは、ウィンドウ内にツールバーやスクロールバー等が表示されます。
これらのパーツはどうやっても半透明化できないので、非表示化してしまいましょう。
そもそもよく訓練されたVimmerであれば、マウスを使って操作するインターフェースなど必要ありません。

.vimrc
if has('gui')
  set guioptions-=T
  set guioptions-=m
  set guioptions-=r
  set guioptions-=R
  set guioptions-=l
  set guioptions-=L
  set guioptions-=b
endif

has('gui')で、GUIモードで動作しているかどうかを判別できます。
guioptions-=Xでは、GUI用のどのパーツを非表示化するかを指定しています。
オプションの意味については、このあたりを参照ください。

GUI固有の設定なので、.gvimrcに書いても良いです。
その場合はhas('gui')は不要です。

.gvimrc
set guioptions-=T
set guioptions-=m
set guioptions-=r
set guioptions-=R
set guioptions-=l
set guioptions-=L
set guioptions-=b

以上の設定で、テキストとタイトルバー以外の全てが透過された、とても美しい環境ができあがります。

23
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
23
Help us understand the problem. What is going on with this article?