256 цветов
Соляризованная палитра делает не включите все подходящие цвета для этого большинства современных терминалов, включенных по умолчанию в список цветовых атрибутов, предоставляемых вашим виртуальным терминалом. Насколько я понимаю, ваш виртуальный терминал предоставляет список цветов (от color0 до color255 - то есть 256 цветов), представленных обычно в виде шестнадцатеричных значений. Это позволяет вашему терминалу в графической среде (не tty) отображать каждый цвет {0..255}
отображаться определенным цветом.
Вы можете просмотреть все 256 цветов в вашем виртуальном терминале, запустив этот короткий скрипт bash Я сделал. Вы должны увидеть что-то вроде этого:
Например, я использую улица Виртуальный терминал в Linux, и для того, чтобы получить соляризованную цветовую схему в vim, нужно установить цвета терминала 0-15 в файле конфигурации st следующим образом:
static const char *colorname[] = {
/* solarized dark */
"#073642", /* 0: black */
"#dc322f", /* 1: red */
"#859900", /* 2: green */
"#b58900", /* 3: yellow */
"#268bd2", /* 4: blue */
"#d33682", /* 5: magenta */
"#2aa198", /* 6: cyan */
"#eee8d5", /* 7: white */
"#002b36", /* 8: brblack */
"#cb4b16", /* 9: brred */
"#5f8700", /* 10: brgreen */
"#d8b822", /* 11: bryellow */
"#0087ff", /* 12: brblue */
"#6c71c4", /* 13: brmagenta*/
"#00afaf", /* 14: brcyan */
"#fdf6e3", /* 15: brwhite */
/* special colors */
[256] = "#002b36", /* background */
[257] = "#93a1a1", /* foreground */
};
/*
* Default colors (colorname index)
* foreground, background, cursor
*/
static unsigned int defaultfg = 257;
static unsigned int defaultbg = 256;
static unsigned int defaultcs = 257;
static unsigned int defaultrcs = 15;
Вы можете видеть, что st, как и все известные мне современные виртуальные терминалы, использует шестнадцатеричные значения для представления каждого 256 цвета.
Вы должны заметить, что для соляризованной схемы цветов в vim вы должны иметь по крайней мере color0
а также color8
установить правильно, потому что эти два цвета не найден по умолчанию в списке {0..255}
цвета. Оттуда вы можете использовать цвета, похожие на цвета, используемые в диапазоне {0..15}
по соляризованной схеме, но я просто делаю всю консоль соляризованной и позволяю соляризации, чтобы она работала нормально.
напор
Что касается конфигурации внутри вашего vimrc, я обнаружил, что стоит упомянуть несколько вещей, которые раздражают соляризованную цветовую схему.
let g:solarzied_termcolors=256
портит цвета в терминале, даже если он поддерживает 256 цветов. Это вероятно потому что когда solarized_termcolors
является 256
, он, вероятно, ожидает графический интерфейс типа gvim. Поэтому лучше оставить этот параметр по умолчанию.
Я не заметил никакой разницы между set t_Co=16
а также set t_Co=256
, но ты наверное хочу set t_Co=16
внутри виртуального терминала, и вы наверное хочу set t_Co=8
внутри терминала tty.
Кроме того, я хотел бы сделать let g:solarized_italic=0
по этой причине внутри вашего vimrc: во многих терминалах, если vim не может правильно отображать курсив ( даже когда это поддерживается ), он часто возвращается к задний ход обратный атрибут. Это означает, что если у вас был темный соляризованный фон, и курсив включен 1
тогда, например, комментарии и все, что должно быть выделено курсивом, будет иметь светло-серый фон с темно-синим текстом. Я нахожу это очень отвлекающим, и отладку не очень легко, потому что все, что вы думаете, это «почему все наоборот» и вы не совсем уверены в источнике.
Наконец-то я бы поставил let g:solarized_bold=1
в вашем vimrc (или оставьте его по умолчанию, так как он включен по умолчанию). Жирный шрифт, вероятно, будет интерпретирован правильно, и я заметил, что если жирный шрифт не включен, то это вызывает проблемы во всплывающих меню (на самом деле, когда solarized_bold
отключен с 0
Я вещи в меню странно довольно смелый - что противоречит интуитивному принципу, но именно поэтому вы должны просто позволить ему выделяться жирным шрифтом ... это на самом деле значение по умолчанию, поэтому вы можете оставить его вне своего vimrc, если хотите)
Вот как это может выглядеть, когда у вас есть терминал 256 цветов ( {0..15}
) настроить "правильно":