Decision
Here is a direct answer for coloring only the yellow word.
syn cluster vimHiCtermColors contains=vimHiCtermColorYellow syn keyword vimHiCtermColorYellow yellow contained syn match vimHiCtermFgBg contained "\ccterm[fb]g="he=e-1 nextgroup=vimNumber,vimHiCtermColor,@vimHiCtermColors,vimFgBgAttrib,vimHiCtermError highlight vimHiCtermColorYellow ctermfg=yellow
And here is the solution for coloring all color terminal names. They are colored only in the terminal (and not in the graphical interface), and other attributes (256-color terminal, colors of the graphical user interface, such as bold) are not highlighted at all. To continue this, you probably want some kind of script to iterate over all possible values.
syn cluster vimHiCtermColors contains=vimHiCtermColorBlack,vimHiCtermColorBlue,vimHiCtermColorBrown,vimHiCtermColorCyan,vimHiCtermColorDarkBlue,vimHiCtermColorDarkcyan,vimHiCtermColorDarkgray,vimHiCtermColorDarkgreen,vimHiCtermColorDarkgrey,vimHiCtermColorDarkmagenta,vimHiCtermColorDarkred,vimHiCtermColorDarkyellow,vimHiCtermColorGray,vimHiCtermColorGreen,vimHiCtermColorGrey,vimHiCtermColorLightblue,vimHiCtermColorLightcyan,vimHiCtermColorLightgray,vimHiCtermColorLightgreen,vimHiCtermColorLightgrey,vimHiCtermColorLightmagenta,vimHiCtermColorLightred,vimHiCtermColorMagenta,vimHiCtermColorRed,vimHiCtermColorWhite,vimHiCtermColorYellow syn keyword vimHiCtermColorBlack black contained syn keyword vimHiCtermColorBlue blue contained syn keyword vimHiCtermColorBrown brown contained syn keyword vimHiCtermColorCyan cyan contained syn keyword vimHiCtermColorDarkBlue darkBlue contained syn keyword vimHiCtermColorDarkcyan darkcyan contained syn keyword vimHiCtermColorDarkgray darkgray contained syn keyword vimHiCtermColorDarkgreen darkgreen contained syn keyword vimHiCtermColorDarkgrey darkgrey contained syn keyword vimHiCtermColorDarkmagenta darkmagenta contained syn keyword vimHiCtermColorDarkred darkred contained syn keyword vimHiCtermColorDarkyellow darkyellow contained syn keyword vimHiCtermColorGray gray contained syn keyword vimHiCtermColorGreen green contained syn keyword vimHiCtermColorGrey grey contained syn keyword vimHiCtermColorLightblue lightblue contained syn keyword vimHiCtermColorLightcyan lightcyan contained syn keyword vimHiCtermColorLightgray lightgray contained syn keyword vimHiCtermColorLightgreen lightgreen contained syn keyword vimHiCtermColorLightgrey lightgrey contained syn keyword vimHiCtermColorLightmagenta lightmagenta contained syn keyword vimHiCtermColorLightred lightred contained syn keyword vimHiCtermColorMagenta magenta contained syn keyword vimHiCtermColorRed red contained syn keyword vimHiCtermColorWhite white contained syn keyword vimHiCtermColorYellow yellow contained syn match vimHiCtermFgBg contained "\ccterm[fb]g="he=e-1 nextgroup=vimNumber,@vimHiCtermColors,vimFgBgAttrib,vimHiCtermError highlight vimHiCtermColorBlack ctermfg=black highlight vimHiCtermColorBlue ctermfg=blue highlight vimHiCtermColorBrown ctermfg=brown highlight vimHiCtermColorCyan ctermfg=cyan highlight vimHiCtermColorDarkBlue ctermfg=darkBlue highlight vimHiCtermColorDarkcyan ctermfg=darkcyan highlight vimHiCtermColorDarkgray ctermfg=darkgray highlight vimHiCtermColorDarkgreen ctermfg=darkgreen highlight vimHiCtermColorDarkgrey ctermfg=darkgrey highlight vimHiCtermColorDarkmagenta ctermfg=darkmagenta highlight vimHiCtermColorDarkred ctermfg=darkred highlight vimHiCtermColorDarkyellow ctermfg=darkyellow highlight vimHiCtermColorGray ctermfg=gray highlight vimHiCtermColorGreen ctermfg=green highlight vimHiCtermColorGrey ctermfg=grey highlight vimHiCtermColorLightblue ctermfg=lightblue highlight vimHiCtermColorLightcyan ctermfg=lightcyan highlight vimHiCtermColorLightgray ctermfg=lightgray highlight vimHiCtermColorLightgreen ctermfg=lightgreen highlight vimHiCtermColorLightgrey ctermfg=lightgrey highlight vimHiCtermColorLightmagenta ctermfg=lightmagenta highlight vimHiCtermColorLightred ctermfg=lightred highlight vimHiCtermColorMagenta ctermfg=magenta highlight vimHiCtermColorRed ctermfg=red highlight vimHiCtermColorWhite ctermfg=white highlight vimHiCtermColorYellow ctermfg=yellow , vimHiCtermColorBrown, vimHiCtermColorCyan, vimHiCtermColorDarkBlue, vimHiCtermColorDarkcyan, vimHiCtermColorDarkgray, vimHiCtermColorDarkgreen, vimHiCtermColorDarkgrey, vimHiCtermColorDarkmagenta, vimHiCtermColorDarkred, vimHiCtermColorDarkyellow, vimHiCtermColorGray, vimHiCtermColorGreen, vimHiCtermColorGrey, vimHiCtermColorLightblue, vimHiCtermColorLightcyan, vimHiCtermColorLightgray, vimHiCtermColorLightgreen, vimHiCtermColorLightgrey, vimHiCtermColorLightmagenta, vimHiCtermColorLightred, vimHiCtermColorMagenta syn cluster vimHiCtermColors contains=vimHiCtermColorBlack,vimHiCtermColorBlue,vimHiCtermColorBrown,vimHiCtermColorCyan,vimHiCtermColorDarkBlue,vimHiCtermColorDarkcyan,vimHiCtermColorDarkgray,vimHiCtermColorDarkgreen,vimHiCtermColorDarkgrey,vimHiCtermColorDarkmagenta,vimHiCtermColorDarkred,vimHiCtermColorDarkyellow,vimHiCtermColorGray,vimHiCtermColorGreen,vimHiCtermColorGrey,vimHiCtermColorLightblue,vimHiCtermColorLightcyan,vimHiCtermColorLightgray,vimHiCtermColorLightgreen,vimHiCtermColorLightgrey,vimHiCtermColorLightmagenta,vimHiCtermColorLightred,vimHiCtermColorMagenta,vimHiCtermColorRed,vimHiCtermColorWhite,vimHiCtermColorYellow syn keyword vimHiCtermColorBlack black contained syn keyword vimHiCtermColorBlue blue contained syn keyword vimHiCtermColorBrown brown contained syn keyword vimHiCtermColorCyan cyan contained syn keyword vimHiCtermColorDarkBlue darkBlue contained syn keyword vimHiCtermColorDarkcyan darkcyan contained syn keyword vimHiCtermColorDarkgray darkgray contained syn keyword vimHiCtermColorDarkgreen darkgreen contained syn keyword vimHiCtermColorDarkgrey darkgrey contained syn keyword vimHiCtermColorDarkmagenta darkmagenta contained syn keyword vimHiCtermColorDarkred darkred contained syn keyword vimHiCtermColorDarkyellow darkyellow contained syn keyword vimHiCtermColorGray gray contained syn keyword vimHiCtermColorGreen green contained syn keyword vimHiCtermColorGrey grey contained syn keyword vimHiCtermColorLightblue lightblue contained syn keyword vimHiCtermColorLightcyan lightcyan contained syn keyword vimHiCtermColorLightgray lightgray contained syn keyword vimHiCtermColorLightgreen lightgreen contained syn keyword vimHiCtermColorLightgrey lightgrey contained syn keyword vimHiCtermColorLightmagenta lightmagenta contained syn keyword vimHiCtermColorLightred lightred contained syn keyword vimHiCtermColorMagenta magenta contained syn keyword vimHiCtermColorRed red contained syn keyword vimHiCtermColorWhite white contained syn keyword vimHiCtermColorYellow yellow contained syn match vimHiCtermFgBg contained "\ccterm[fb]g="he=e-1 nextgroup=vimNumber,@vimHiCtermColors,vimFgBgAttrib,vimHiCtermError highlight vimHiCtermColorBlack ctermfg=black highlight vimHiCtermColorBlue ctermfg=blue highlight vimHiCtermColorBrown ctermfg=brown highlight vimHiCtermColorCyan ctermfg=cyan highlight vimHiCtermColorDarkBlue ctermfg=darkBlue highlight vimHiCtermColorDarkcyan ctermfg=darkcyan highlight vimHiCtermColorDarkgray ctermfg=darkgray highlight vimHiCtermColorDarkgreen ctermfg=darkgreen highlight vimHiCtermColorDarkgrey ctermfg=darkgrey highlight vimHiCtermColorDarkmagenta ctermfg=darkmagenta highlight vimHiCtermColorDarkred ctermfg=darkred highlight vimHiCtermColorDarkyellow ctermfg=darkyellow highlight vimHiCtermColorGray ctermfg=gray highlight vimHiCtermColorGreen ctermfg=green highlight vimHiCtermColorGrey ctermfg=grey highlight vimHiCtermColorLightblue ctermfg=lightblue highlight vimHiCtermColorLightcyan ctermfg=lightcyan highlight vimHiCtermColorLightgray ctermfg=lightgray highlight vimHiCtermColorLightgreen ctermfg=lightgreen highlight vimHiCtermColorLightgrey ctermfg=lightgrey highlight vimHiCtermColorLightmagenta ctermfg=lightmagenta highlight vimHiCtermColorLightred ctermfg=lightred highlight vimHiCtermColorMagenta ctermfg=magenta highlight vimHiCtermColorRed ctermfg=red highlight vimHiCtermColorWhite ctermfg=white highlight vimHiCtermColorYellow ctermfg=yellow
Description
If you look in /vim.vim colors and do a cterm search, you will see the line
syn match vimHiCtermFgBg contained "\ccterm[fb]g="he=e-1 nextgroup=vimNumber,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError
This suggests that when ctermfg= or ctermbg= , highlight the next word as vimNumber , vimHiCtermColor , vimFgBgAttrib or vimHiCtermError . Looking at vimHiCtermColor (a few lines above), we see
syn keyword vimHiCtermColor contained black blue brown cyan darkBlue darkcyan darkgray darkgreen darkgrey darkmagenta darkred darkyellow gray green grey lightblue lightcyan lightgray lightgreen lightgrey lightmagenta lightred magenta red white yellow
All color terminal names are listed here and highlighted as keywords with the same syntax group. So, instead of selecting them all together, we can select them separately. The four lines of the first decision above describe the steps:
- Create a new cluster,
@vimHiCtermColors , containing each of the groups in step 2. - Add a new keyword for each color value.
- Modify the
vimHiCtermFgBg definition to use @vimHiCtermColors instead of vimHiCtermColor . - Highlight each keyword as you like.
The reason you tried to work has no double meaning. First, the syntax groups specified in nextgroup are preferable to general groups (in particular, your yellow group). But you can say: "How about containedin=ALL ?" This is the second point. Keywords are separate units and cannot contain anything else. The original vimHiCtermColor group was all keywords, so your containedin=ALL could not override it. If vimHiCtermColor was a match instead of a keyword, it might have worked.