|
发表于 2021-11-14 18:36:40
|
显示全部楼层
本楼为最佳答案
 - ctermfg={color-nr} *highlight-ctermfg* *E421*
- ctermbg={color-nr} *highlight-ctermbg*
- {color-nr} 参数指定颜色号。其范围从零到 termcap 项目 "Co" 给出的数字
- (不含)。实际的颜色取决于终端的类型和设置。有时,颜色也取决于 "cterm"
- 的值。例如,有的系统上 "cterm=bold ctermfg=3" 给出另外一个颜色,别的系
- 统上你只会得到颜色 3。
- xterm 上,它取决于你的资源,这并不容易预测。你的 xterm 文档会说明缺省
- 值。color-xterm 的颜色可以通过 .Xdefaults 文件修改。不幸的是,这意味着
- 每个用户未必会得到完全相同的颜色。|xterm-color| 提供带色彩的 xterm 的
- 信息。
- MSDOS 的标准颜色是固定的 (在控制窗口上),所以我们用这些名字。在 X11
- 上,颜色名字的含义是固定的,所以我们用这些颜色设置,以使高亮设置可移植
- (是不是很复杂?)。下面列出这些被识别的名字和所使用的颜色号:
- *cterm-colors*
- NR-16 NR-8 颜色名 ~
- 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 (白)
- "NR-16" 下的数字用于 16 色的终端 ('t_Co' 大于等于 16)。"NR-8" 下的数字
- 用于 8 色终端 ('t_Co' 小于 16)。'*' 表明 ctermfg 使用的时候设置 bold
- 属性。在许多 8 色终端上 (比如,"linux"),它会显示增亮的颜色。但这不适
- 用于背景色。如果没有 '*',则不包含 bold 属性。如果你想用不同的方式设置
- bold 属性,在 "ctermfg=" 或 "ctermbg=" 参数_之后_设置 "cterm=" 参数。
- 或者使用数字,而不是颜色名。
- 忽略颜色名的大小写。
- 注意 16 色 ansi 风格的终端 (包括 xterm) 使用 NR-8 一列的数字。这里,
- '*' 意味着 '加 8',所以 Blue 成了 12,DarkGray 是 8,依此类推。
- 注意 有些色彩终端下,这些名字可能会产生错误的颜色!
- *:hi-normal-cterm*
- Normal 组设置的 "ctermfg" 或 "ctermbg" 颜色成为非高亮文本使用的颜色。
- 例如: >
- :highlight Normal ctermfg=grey ctermbg=darkblue
- < 设置 Normal 组的 "ctermbg" 颜色的时候,'background' 选项会自动设置。这
- 使得依赖于 'background' 的高亮组发生改变!这意味着你应该先设置 Normal
- 的颜色,然后再设置其它的。
- 已经使用色彩方案的时候,修改 'background' 使之被重新载入,这会复位所有
- 颜色 (包括 Normal)。如果你不希望如此,先删除 "g:colors_name" 变量。
- 如果你给 Normal 组设置了 "ctermfg" 或 "ctermbg",Vim 退出时需要复位颜
- 色,这通过 "op" termcap 项目 |t_op| 完成。如果不能正确工作,尝试在你的
- .vimrc 里设置 't_op' 选项。
- *E419* *E420*
- 如果 Vim 知道 Normal 的前景和背景色,"fg" 和 "bg" 可以用做颜色名字。这
- 只有在设置了 Normal 组的颜色以后和 (译者注: 或?) 在 MS-DOS 控制台上才
- 可以。比如,设置反显视频: >
- :highlight Visual ctermfg=bg ctermbg=fg
- < 注意 使用的颜色必须在给出命令的时候已经合法。如果之后 Normal 组的颜色
- 发生改变,"fg" 和 "bg" 颜色不会被调整。
复制代码 |
|