最近Vimのカラースキームを作っているのですが、作成中に「この部分のハイライトグループってなんだ?」ということがよくあるので、カーソル下のハイライト情報を表示するコマンドをこしらえてみました。
スクリプトはVim のカラースキームが微妙に気に食わないときの対処法 - 反省はしても後悔はしないをパクり参考にさせていただきました。
" カーソル下のhighlight情報を表示する {{{
function! s:get_syn_id(transparent)
let synid = synID(line('.'), col('.'), 1)
return a:transparent ? synIDtrans(synid) : synid
endfunction
function! s:get_syn_name(synid)
return synIDattr(a:synid, 'name')
endfunction
function! s:get_highlight_info()
execute "highlight " . s:get_syn_name(s:get_syn_id(0))
execute "highlight " . s:get_syn_name(s:get_syn_id(1))
endfunction
command! HighlightInfo call s:get_highlight_info()
:HighlightInfo
を実行するとカーソル下のハイライト情報が表示されます。