我/如何在 Nano 语法高亮配置中指定十六进制或 RGB 颜色?

bg1*_*7aw 6 colors vim nano

我在 nano (PHP) 中启用了语法突出显示,但对默认设置不满意,例如我希望将注释显示为非常浅的灰色。

然而,我发现的文档似乎表明我只能写“黄色”、“红色”等颜色。

有没有办法通过十六进制/RGB 代码指定颜色?bash/nano等可以显示的颜色数量有限制吗?显然我对 Linux 世界不是很有经验。

VIM 同样的问题,如果不可能的话我可能会切换到 VIM。

Tho*_*key 5

纳米很小。在这种情况下,它将选择限制为 8 种预定义的 ANSI 颜色(加上明亮/粗体),以便它可以使用预定义的符号curses.h(例如COLOR_BLUE)作为命名指南。

\n

许多终端支持 256 种预定义颜色;nano 无法利用它们,但Vim 可以

\n

与 GUI 不同,允许直接指定颜色的 R/G/B 内容的终端是一个例外,而不是规则\xe2\x80\x94。

\n

一些终端(包括我维护的 Xterm)支持转义序列,将调色板颜色 N 更改为指定的 RGB 值,并将前景色设置为调色板中指定 RGB 值最接近的颜色(使用而不是背景)颜色)。 然而,更改调色板颜色对于 nano 来说没有用,因为它利用了现有的调色板,而与(更大的)Vim 相比,Vim 可以通过附加组件来做到这一点。\\e]4;N;#RRGGBB\\a\\e[38;2;R;G;Bm4838

\n

在 2015 年 12 月撰写上述内容时,nano 的最新版本是版本 2.4.2(2015 年 7 月)。此时,nano 的 C 语言有 23336 行(7657 条语句),这只是 131621 行文本文件(计算“.po”消息文件)的一小部分。目前(六年后的 2021 年 10 月),程序大小大致相同(行数更少,语句更多),但其他文本文件的源代码树大小大约增加了一倍(253036 行)。它不再完全“小”了(但还远不及 vim 的大小)。在 2020 年 7 月发布 Nano 5.0 的几周前,开发人员在 xterm 的 256 色调色板中添加了八个条目名称,分别是src/rcfile.c

\n
\nconst char Hues[COLORCOUNT][8] = { "red", "green", "blue",\n "yellow", "cyan", "magenta",\n "white", "black", "normal ",\n "粉色", "紫色", "紫红色",\n "泻湖", "薄荷色", "柠檬色",\n "桃色", "橙色", "拿铁咖啡",\n "灰色", "gray" };\n\n短索引[COLORCOUNT] = { COLOR_RED, COLOR_GREEN, COLOR_BLUE,\n COLOR_YELLOW, COLOR_CYAN, COLOR_MAGENTA,\n COLOR_WHITE, COLOR_BLACK, THE_DEFAULT,\n 204, 163, 134, 38, 48, 148 , 215, 208, 137,\n COLOR_BLACK + 8, COLOR_BLACK + 8 };\n
\n

这似乎不可扩展(但至少它使用了 ncurses)。但是,它没有解决 OP 的问题,因为它没有提供用于配置nano 的十六进制RGB方法。在开发 ncurses 时,我创建了一个读取 X11 rgb.txt 文件的示例,作为使程序以颜色显示 X pixmap 文件的一部分。但它也使用 xterm 的256 色调色板的数据文件来读取和显示。有关屏幕截图,请参阅picsmap 程序的讨论。

\n