鱼C论坛

 找回密码
 立即注册
查看: 2537|回复: 5

[已解决]求解vim终端背景色设置

[复制链接]
发表于 2021-11-14 18:27:25 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

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

求解:这个234是什么意思?不像是RGB和16色啊!
最佳答案
2021-11-14 18:36:40
  1. ctermfg={color-nr}                              *highlight-ctermfg* *E421*
  2. ctermbg={color-nr}                              *highlight-ctermbg*
  3.         {color-nr} 参数指定颜色号。其范围从零到 termcap 项目 "Co" 给出的数字
  4.         (不含)。实际的颜色取决于终端的类型和设置。有时,颜色也取决于 "cterm"
  5.         的值。例如,有的系统上 "cterm=bold ctermfg=3" 给出另外一个颜色,别的系
  6.         统上你只会得到颜色 3。

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

  11.         MSDOS 的标准颜色是固定的 (在控制窗口上),所以我们用这些名字。在 X11
  12.         上,颜色名字的含义是固定的,所以我们用这些颜色设置,以使高亮设置可移植
  13.         (是不是很复杂?)。下面列出这些被识别的名字和所使用的颜色号:

  14.                                                         *cterm-colors*
  15.             NR-16   NR-8    颜色名 ~
  16.             0       0       Black (黑)
  17.             1       4       DarkBlue (深蓝)
  18.             2       2       DarkGreen (深绿)
  19.             3       6       DarkCyan (深青)
  20.             4       1       DarkRed (深红)
  21.             5       5       DarkMagenta (深品红)
  22.             6       3       Brown,DarkYellow (褐、深黄)
  23.             7       7       LightGray、LightGrey,Gray,Grey (浅灰)
  24.             8       0*      DarkGray,DarkGrey (深灰)
  25.             9       4*      Blue,LightBlue (浅蓝)
  26.             10      2*      Green,LightGreen (浅绿)
  27.             11      6*      Cyan,LightCyan (浅青)
  28.             12      1*      Red,LightRed (浅品红)
  29.             13      5*      Magenta,LightMagenta (浅红)
  30.             14      3*      Yellow,LightYellow (浅黄)
  31.             15      7*      White (白)

  32.         "NR-16" 下的数字用于 16 色的终端 ('t_Co' 大于等于 16)。"NR-8" 下的数字
  33.         用于 8 色终端 ('t_Co' 小于 16)。'*' 表明 ctermfg 使用的时候设置 bold
  34.         属性。在许多 8 色终端上 (比如,"linux"),它会显示增亮的颜色。但这不适
  35.         用于背景色。如果没有 '*',则不包含 bold 属性。如果你想用不同的方式设置
  36.         bold 属性,在 "ctermfg=" 或 "ctermbg=" 参数_之后_设置 "cterm=" 参数。
  37.         或者使用数字,而不是颜色名。

  38.         忽略颜色名的大小写。
  39.         注意 16 色 ansi 风格的终端 (包括 xterm) 使用 NR-8 一列的数字。这里,
  40.         '*' 意味着 '加 8',所以 Blue 成了 12,DarkGray 是 8,依此类推。

  41.         注意 有些色彩终端下,这些名字可能会产生错误的颜色!

  42.                                                         *:hi-normal-cterm*
  43.         Normal 组设置的 "ctermfg" 或 "ctermbg" 颜色成为非高亮文本使用的颜色。
  44.         例如: >
  45.                 :highlight Normal ctermfg=grey ctermbg=darkblue
  46. <       设置 Normal 组的 "ctermbg" 颜色的时候,'background' 选项会自动设置。这
  47.         使得依赖于 'background' 的高亮组发生改变!这意味着你应该先设置 Normal
  48.         的颜色,然后再设置其它的。
  49.         已经使用色彩方案的时候,修改 'background' 使之被重新载入,这会复位所有
  50.         颜色 (包括 Normal)。如果你不希望如此,先删除 "g:colors_name" 变量。

  51.         如果你给 Normal 组设置了 "ctermfg" 或 "ctermbg",Vim 退出时需要复位颜
  52.         色,这通过 "op" termcap 项目 |t_op| 完成。如果不能正确工作,尝试在你的
  53.         .vimrc 里设置 't_op' 选项。
  54.                                                         *E419* *E420*
  55.         如果 Vim 知道 Normal 的前景和背景色,"fg" 和 "bg" 可以用做颜色名字。这
  56.         只有在设置了 Normal 组的颜色以后和 (译者注: 或?) 在 MS-DOS 控制台上才
  57.         可以。比如,设置反显视频: >
  58.             :highlight Visual ctermfg=bg ctermbg=fg
  59. <       注意 使用的颜色必须在给出命令的时候已经合法。如果之后 Normal 组的颜色
  60.         发生改变,"fg" 和 "bg" 颜色不会被调整。


复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-14 18:36:40 | 显示全部楼层    本楼为最佳答案   
  1. ctermfg={color-nr}                              *highlight-ctermfg* *E421*
  2. ctermbg={color-nr}                              *highlight-ctermbg*
  3.         {color-nr} 参数指定颜色号。其范围从零到 termcap 项目 "Co" 给出的数字
  4.         (不含)。实际的颜色取决于终端的类型和设置。有时,颜色也取决于 "cterm"
  5.         的值。例如,有的系统上 "cterm=bold ctermfg=3" 给出另外一个颜色,别的系
  6.         统上你只会得到颜色 3。

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

  11.         MSDOS 的标准颜色是固定的 (在控制窗口上),所以我们用这些名字。在 X11
  12.         上,颜色名字的含义是固定的,所以我们用这些颜色设置,以使高亮设置可移植
  13.         (是不是很复杂?)。下面列出这些被识别的名字和所使用的颜色号:

  14.                                                         *cterm-colors*
  15.             NR-16   NR-8    颜色名 ~
  16.             0       0       Black (黑)
  17.             1       4       DarkBlue (深蓝)
  18.             2       2       DarkGreen (深绿)
  19.             3       6       DarkCyan (深青)
  20.             4       1       DarkRed (深红)
  21.             5       5       DarkMagenta (深品红)
  22.             6       3       Brown,DarkYellow (褐、深黄)
  23.             7       7       LightGray、LightGrey,Gray,Grey (浅灰)
  24.             8       0*      DarkGray,DarkGrey (深灰)
  25.             9       4*      Blue,LightBlue (浅蓝)
  26.             10      2*      Green,LightGreen (浅绿)
  27.             11      6*      Cyan,LightCyan (浅青)
  28.             12      1*      Red,LightRed (浅品红)
  29.             13      5*      Magenta,LightMagenta (浅红)
  30.             14      3*      Yellow,LightYellow (浅黄)
  31.             15      7*      White (白)

  32.         "NR-16" 下的数字用于 16 色的终端 ('t_Co' 大于等于 16)。"NR-8" 下的数字
  33.         用于 8 色终端 ('t_Co' 小于 16)。'*' 表明 ctermfg 使用的时候设置 bold
  34.         属性。在许多 8 色终端上 (比如,"linux"),它会显示增亮的颜色。但这不适
  35.         用于背景色。如果没有 '*',则不包含 bold 属性。如果你想用不同的方式设置
  36.         bold 属性,在 "ctermfg=" 或 "ctermbg=" 参数_之后_设置 "cterm=" 参数。
  37.         或者使用数字,而不是颜色名。

  38.         忽略颜色名的大小写。
  39.         注意 16 色 ansi 风格的终端 (包括 xterm) 使用 NR-8 一列的数字。这里,
  40.         '*' 意味着 '加 8',所以 Blue 成了 12,DarkGray 是 8,依此类推。

  41.         注意 有些色彩终端下,这些名字可能会产生错误的颜色!

  42.                                                         *:hi-normal-cterm*
  43.         Normal 组设置的 "ctermfg" 或 "ctermbg" 颜色成为非高亮文本使用的颜色。
  44.         例如: >
  45.                 :highlight Normal ctermfg=grey ctermbg=darkblue
  46. <       设置 Normal 组的 "ctermbg" 颜色的时候,'background' 选项会自动设置。这
  47.         使得依赖于 'background' 的高亮组发生改变!这意味着你应该先设置 Normal
  48.         的颜色,然后再设置其它的。
  49.         已经使用色彩方案的时候,修改 'background' 使之被重新载入,这会复位所有
  50.         颜色 (包括 Normal)。如果你不希望如此,先删除 "g:colors_name" 变量。

  51.         如果你给 Normal 组设置了 "ctermfg" 或 "ctermbg",Vim 退出时需要复位颜
  52.         色,这通过 "op" termcap 项目 |t_op| 完成。如果不能正确工作,尝试在你的
  53.         .vimrc 里设置 't_op' 选项。
  54.                                                         *E419* *E420*
  55.         如果 Vim 知道 Normal 的前景和背景色,"fg" 和 "bg" 可以用做颜色名字。这
  56.         只有在设置了 Normal 组的颜色以后和 (译者注: 或?) 在 MS-DOS 控制台上才
  57.         可以。比如,设置反显视频: >
  58.             :highlight Visual ctermfg=bg ctermbg=fg
  59. <       注意 使用的颜色必须在给出命令的时候已经合法。如果之后 Normal 组的颜色
  60.         发生改变,"fg" 和 "bg" 颜色不会被调整。


复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-14 19:37:40 From FishC Mobile | 显示全部楼层
人造人 发表于 2021-11-14 18:36

谢谢!还是不太懂,在哪里可以看到可以使用的颜色号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-14 19:44:45 | 显示全部楼层
君无泪 发表于 2021-11-14 19:37
谢谢!还是不太懂,在哪里可以看到可以使用的颜色号
  1. xterm 上,它取决于你的资源,这并不容易预测。你的 xterm 文档会说明缺省
  2.         值。color-xterm 的颜色可以通过 .Xdefaults 文件修改。不幸的是,这意味着
  3.         每个用户未必会得到完全相同的颜色。|xterm-color| 提供带色彩的 xterm 的
  4.         信息。
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-14 19:46:48 | 显示全部楼层
Untitled.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-14 20:12:35 From FishC Mobile | 显示全部楼层
人造人 发表于 2021-11-14 19:46

谢谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-18 02:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表