鱼C论坛

 找回密码
 立即注册
查看: 2852|回复: 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
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" 颜色不会被调整。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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" 颜色不会被调整。
想知道小甲鱼最近在做啥?请访问 -> 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
谢谢!还是不太懂,在哪里可以看到可以使用的颜色号
xterm 上,它取决于你的资源,这并不容易预测。你的 xterm 文档会说明缺省
        值。color-xterm 的颜色可以通过 .Xdefaults 文件修改。不幸的是,这意味着
        每个用户未必会得到完全相同的颜色。|xterm-color| 提供带色彩的 xterm 的
        信息。
想知道小甲鱼最近在做啥?请访问 -> 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-11-14 14:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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