tl;dr
- tmuxを挟んでVimを使うなら
guibg=NONE
を設定しないと透過されない -
set cursorline
しているとカーソル行が透過されない
はじめに
iTerm2のPreferencesで透過設定してウキウキ気分でVim開いたら背景が真っ黒になった
やはり500番煎じ
Vimのハイライト設定
ポイントはcolorschemeを設定した後に読み込まれるようにすること。
さもなくばcolorschemeの設定が上書きされてしまうかもしれない。
init.vim
colorscheme iceberg "example
highlight Normal ctermbg=NONE guibg=NONE
highlight NonText ctermbg=NONE guibg=NONE
highlight LineNr ctermbg=NONE guibg=NONE
highlight Folded ctermbg=NONE guibg=NONE
highlight EndOfBuffer ctermbg=NONE guibg=NONE
CUIとGUIのテキスト行、テキスト下空白、行番号、折り返し、ファイルの終わり以降の空白を無しに設定。
.toml
でプラグイン管理していたらcolorschemeの下に以下を追加。
dein.toml
hook_add = '''
au MyAutoCmd VimEnter * nested call SetHighlightOptions()
function SetHightlightOptions()
colorscheme iceberg "example
highlight Normal ctermbg=NONE guibg=NONE
highlight NonText ctermbg=NONE guibg=NONE
highlight LineNr ctermbg=NONE guibg=NONE
highlight Folded ctermbg=NONE guibg=NONE
highlight EndOfBuffer ctermbg=NONE guibg=NONE
endfunction
'''
Vim日本語ドキュメントによれば、VimEnter
でVimの起動時処理が全部終わった一番最後に実行されるようにしている?
nested
しているのはau内部でSetHighlightOptions関数をネストするため?
設定周辺は完璧に理解はしてませんが、透過それ自体とは無関係なのでひとまず蛇足です。
カーソル行だけ透過されない
set cursorline
の設定があるとカーソル行がハイライトされるので透過が失われます。
同様に、検索等のハイライトでも該当部分の透過がなくなります。仕方ないですね。