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