Home Explore Blog CI



neovim

65th chunk of `runtime/doc/syntax.txt`
7e92e76b67664218b5451ccc964c6eefe46139ed31e3e9760000000100000fa0
 "bold" can be used here and by using a bold font.  They
	have the same effect.
	"undercurl", "underdouble", "underdotted", and "underdashed" fall back
	to "underline" in a terminal that does not support them. The color is
	set using |guisp|.

start={term-list}				*highlight-start* *E422*
stop={term-list}				*term-list* *highlight-stop*
	These lists of terminal codes can be used to get
	non-standard attributes on a terminal.

	The escape sequence specified with the "start" argument
	is written before the characters in the highlighted
	area.  It can be anything that you want to send to the
	terminal to highlight this area.  The escape sequence
	specified with the "stop" argument is written after the
	highlighted area.  This should undo the "start" argument.
	Otherwise the screen will look messed up.

        {term-list} is a string with escape sequences. This is any string of
        characters, except that it can't start with "t_" and blanks are not
        allowed.  The <> notation is recognized here, so you can use things
        like "<Esc>" and "<Space>".  Example:
		start=<Esc>[27h;<Esc>[<Space>r;

ctermfg={color-nr}				*ctermfg* *E421*
ctermbg={color-nr}				*ctermbg*
	The {color-nr} argument is a color number.  Its range is zero to
	(not including) the number of |tui-colors| available.
	The actual color with this number depends on the type of terminal
	and its settings.  Sometimes the color also depends on the settings of
	"cterm".  For example, on some systems "cterm=bold ctermfg=3" gives
	another color, on others you just get color 3.

	The following (case-insensitive) names are recognized:

							*cterm-colors*
	    NR-16   NR-8    COLOR NAME ~
	    0	    0	    Black
	    1	    4	    DarkBlue
	    2	    2	    DarkGreen
	    3	    6	    DarkCyan
	    4	    1	    DarkRed
	    5	    5	    DarkMagenta
	    6	    3	    Brown, DarkYellow
	    7	    7	    LightGray, LightGrey, Gray, Grey
	    8	    0*	    DarkGray, DarkGrey
	    9	    4*	    Blue, LightBlue
	    10	    2*	    Green, LightGreen
	    11	    6*	    Cyan, LightCyan
	    12	    1*	    Red, LightRed
	    13	    5*	    Magenta, LightMagenta
	    14	    3*	    Yellow, LightYellow
	    15	    7*	    White

	The number under "NR-16" is used for 16-color terminals ('t_Co'
	greater than or equal to 16).  The number under "NR-8" is used for
	8-color terminals ('t_Co' less than 16).  The "*" indicates that the
	bold attribute is set for ctermfg.  In many 8-color terminals (e.g.,
	"linux"), this causes the bright colors to appear.  This doesn't work
	for background colors!	Without the "*" the bold attribute is removed.
	If you want to set the bold attribute in a different way, put a
	"cterm=" argument AFTER the "ctermfg=" or "ctermbg=" argument.	Or use
	a number instead of a color name.

	Note that for 16 color ansi style terminals (including xterms), the
	numbers in the NR-8 column is used.  Here "*" means "add 8" so that
	Blue is 12, DarkGray is 8 etc.

	Note that for some color terminals these names may result in the wrong
	colors!

	You can also use "NONE" to remove the color.

							*:hi-normal-cterm*
	When setting the "ctermfg" or "ctermbg" colors for the Normal group,
	these will become the colors used for the non-highlighted text.
	Example: >
		:highlight Normal ctermfg=grey ctermbg=darkblue
<	When setting the "ctermbg" color for the Normal group, the
	'background' option will be adjusted automatically, under the
	condition that the color is recognized and 'background' was not set
	explicitly.  This causes the highlight groups that depend on
	'background' to change!  This means you should set the colors for
	Normal first, before setting other colors.
	When a color scheme is being used, changing 'background' causes it to
	be reloaded, which may reset all colors (including Normal).  First
	delete the "g:colors_name" variable when you don't want this.

	When you have set "ctermfg" or "ctermbg" for the Normal group, Vim
	needs to reset the color when exiting.	This is

Title: Vim Highlight Arguments: Terminal Codes, Colors, and Normal Group Customization
Summary
This section details how 'bold' can be used as both an attribute and a font setting, and how 'undercurl,' 'underdouble,' 'underdotted,' and 'underdashed' fall back to 'underline' on unsupported terminals, with color set by |guisp|. It describes using 'start' and 'stop' terminal code lists for custom highlighting. It elaborates on 'ctermfg' and 'ctermbg,' which define foreground and background colors using color numbers or names. It provides color names for 8 and 16 color terminals, with notes on the impact of the 'bold' attribute and potential color discrepancies. Using "NONE" removes the color. Lastly, it explains how setting 'ctermfg' and 'ctermbg' for the Normal group affects non-highlighted text and the automatic adjustment of the 'background' option.