I usually customize existing colorscheme
to meet my needs.
If I could get the syntax group name under cursor, it would help me a lot, just like Firebu
The following function will output both the name of the syntax group, and the translated syntax group of the character the cursor is on:
function! SynGroup()
let l:s = synID(line('.'), col('.'), 1)
echo synIDattr(l:s, 'name') . ' -> ' . synIDattr(synIDtrans(l:s), 'name')
endfun
To make this more convenient it can be wrapped in a custom command or key binding.
How this works:
line('.')
and col('.')
return the current positionsynID(...)
returns a numeric syntax IDsynIDtrans(l:s)
translates the numeric syntax id l:s
by following highlight linkssynIDattr(l:s, 'name')
returns the name corresponding to the numeric syntax IDThis will echo something like:
vimMapModKey -> Special