Vim如何在256色条件下解析颜色名称?

niknxzdl  于 2022-11-11  发布在  其他
关注(0)|答案(2)|浏览(137)

例如,

ctermfg=DarkBlue

Vim如何决定颜色名称DarkBlue的rgb值?据说在$VIMRUNTIME/rgb.txt中有描述。但在某些版本的Vim中,这个文件并不存在。
顺便说一句,vim如何决定一个数字颜色的rgb值,例如

ctermfg=0
8dtrkrch

8dtrkrch1#

数字颜色是基于xterm的256色Map的ANSI转义码,如下所示:https://upload.wikimedia.org/wikipedia/en/1/15/Xterm_256color_chart.svg
过去只有8种颜色(0到7):黑色、红色、绿色、黄色、蓝色、洋红色、青色和白色。其他248种定义如下:

0x08-0x0F:  high intensity colors
0x10-0xE7:  6 × 6 × 6 = 216 colors: 16 + 36 × r + 6 × g + b (0 ≤ r, g, b ≤ 5)
0xE8-0xFF:  grayscale from black to white in 24 steps

来自www.example.com的信息https://en.wikipedia.org/wiki/ANSI_escape_code#Colors

u5rb5r59

u5rb5r592#

vim 不能决定这些颜色。
它只是告诉终端仿真器使用DarkBlue0,而根本不关心实际的RGB值。

相关问题