例如
ctermfg=DarkBlue
vim如何决定颜色名称DarkBlue
的rgb值?据说在$VIMRUNTIME/rgb.txt
中有描述。但是在某些版本的vim中,这个文件不存在。
顺便说一句,vim如何决定数值颜色的rgb值,例如
ctermfg=0
数字颜色是基于xterm的256色映射的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
信息来自https://en.wikipedia.org/wiki/ANSI_escape_code#Colors
Vim不决定这些颜色。
它只是告诉终端模拟器使用DarkBlue
或0
,根本不关心实际的RGB值。