君无泪 发表于 2021-11-14 18:27:25

求解vim终端背景色设置

求解:
# 为什么ctermbg=十六进制的颜色出现报错?
highlight Normal ctermbg=#008B00

# 而我在网上找的下面这个就可以正常使用。
highlight Normal ctermbg=234

求解:这个234是什么意思?不像是RGB和16色啊!

人造人 发表于 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" 颜色不会被调整。


君无泪 发表于 2021-11-14 19:37:40

人造人 发表于 2021-11-14 18:36


谢谢!还是不太懂,在哪里可以看到可以使用的颜色号

人造人 发表于 2021-11-14 19:44:45

君无泪 发表于 2021-11-14 19:37
谢谢!还是不太懂,在哪里可以看到可以使用的颜色号

xterm 上,它取决于你的资源,这并不容易预测。你的 xterm 文档会说明缺省
      值。color-xterm 的颜色可以通过 .Xdefaults 文件修改。不幸的是,这意味着
      每个用户未必会得到完全相同的颜色。|xterm-color| 提供带色彩的 xterm 的
      信息。

人造人 发表于 2021-11-14 19:46:48

君无泪 发表于 2021-11-14 20:12:35

人造人 发表于 2021-11-14 19:46


谢谢啦
页: [1]
查看完整版本: 求解vim终端背景色设置