Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

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

$
0
0

はじめに

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

.vimrc

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

.vimrc
colorscheme XXXXX

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

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

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

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

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

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

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

GUIパーツの非表示化

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

.vimrc
if has('gui')setguioptions-=T
  setguioptions-=msetguioptions-=rsetguioptions-=R
  setguioptions-=lsetguioptions-=L
  setguioptions-=bendif

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

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

.gvimrc
setguioptions-=T
setguioptions-=msetguioptions-=rsetguioptions-=R
setguioptions-=lsetguioptions-=L
setguioptions-=b

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


Viewing all articles
Browse latest Browse all 5608

Trending Articles