Как vim разрешает имена цветов в 256-цветовом выражении?
Например,
ctermfg=DarkBlue
Как vim решает значение rgb для имени цвета DarkBlue
? Было сказано, что это было описано в $VIMRUNTIME/rgb.txt
, Но в некоторых выпусках vim этот файл не существует.
Кстати, как vim определяет значение rgb для числового цвета, например
ctermfg=0
2 ответа
Числовые цвета - это escape-коды ANSI, основанные на 256-цветовой карте xterm, которую можно увидеть здесь: 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
Vim ничего не решает об этих цветах.
Он просто говорит эмулятору терминала использовать DarkBlue
или же 0
, не заботясь о фактических значениях RGB вообще.