Соляризованная цветовая гамма не вышла как положено после установки


0

1

После того, как я установил солярий, цвет фона не получился, как ожидалось. vim использует терминальный черный фон вместо использования соляризованного синего фона. Мой терминал также установлен на Xterm-256color. Я пробовал несколько вариантов включить эту строку let g:solarized_termtrans = 1, но это все равно не имеет никакого значения. Что я тут не так сделал?

Ответы:


2

О да. У меня была та же проблема.

ты должен добавить

"set t_Co=256           " No        
set t_Co=16

также соляризованные варианты

"g:solarized_termcolors=   16      |   256
"g:solarized_termtrans =   0       |   1
"g:solarized_degrade   =   0       |   1
"g:solarized_bold      =   1       |   0
"g:solarized_underline =   1       |   0
"g:solarized_italic    =   1       |   0
"g:solarized_contrast  =   "normal"|   "high" or "low"
"g:solarized_visibility=   "normal"|   "high" or "low"
"g:solarized_hitrail   =   0       |   1
"g:solarized_menu      =   1       |   0

для которого я лично использовал

let g:solarized_termcolors=   16
let g:solarized_termtrans =   0       
let g:solarized_degrade   =   0       
let g:solarized_bold      =   1       
let g:solarized_underline =   1       
let g:solarized_italic    =   1       
let g:solarized_contrast  =   "normal"
let g:solarized_visibility=   "normal"
let g:solarized_hitrail   =   0       
let g:solarized_menu      =   1  

Я также сам установил свой терминал для соляризации. Это соответствующий раздел из моих ~ / .Xresources, которые я где-то скопировал из интернета.

Обратите внимание, что я удалил строку "* background", которая может быть именно то, что вам нужно, но в любом случае, это работает для меня. Тем не менее, это меняет цвета вашего teminal.

!! ================= SOLARIZED =============================================================

!! drop in Solarized colorscheme for Xresources/Xdefaults

!!SOLARIZED HEX     16/8 TERMCOL  XTERM/HEX   L*A*B      RGB         HSB
!!--------- ------- ---- -------  ----------- ---------- ----------- -----------
!!base03    #002b36  8/4 brblack  234 #1c1c1c 15 -12 -12   0  43  54 193 100  21
!!base02    #073642  0/4 black    235 #262626 20 -12 -12   7  54  66 192  90  26
!!base01    #586e75 10/7 brgreen  240 #585858 45 -07 -07  88 110 117 194  25  46
!!base00    #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195  23  51
!!base0     #839496 12/6 brblue   244 #808080 60 -06 -03 131 148 150 186  13  59
!!base1     #93a1a1 14/4 brcyan   245 #8a8a8a 65 -05 -02 147 161 161 180   9  63
!!base2     #eee8d5  7/7 white    254 #e4e4e4 92 -00  10 238 232 213  44  11  93
!!base3     #fdf6e3 15/7 brwhite  230 #ffffd7 97  00  10 253 246 227  44  10  99
!!yellow    #b58900  3/3 yellow   136 #af8700 60  10  65 181 137   0  45 100  71
!!orange    #cb4b16  9/3 brred    166 #d75f00 50  50  55 203  75  22  18  89  80
!!red       #dc322f  1/1 red      160 #d70000 50  65  45 220  50  47   1  79  86
!!magenta   #d33682  5/5 magenta  125 #af005f 50  65 -05 211  54 130 331  74  83
!!violet    #6c71c4 13/5 brmagenta 61 #5f5faf 50  15 -45 108 113 196 237  45  77
!!blue      #268bd2  4/4 blue      33 #0087ff 55 -10 -45  38 139 210 205  82  82
!!cyan      #2aa198  6/6 cyan      37 #00afaf 60 -35 -05  42 161 152 175  74  63
!!green     #859900  2/2 green     64 #5f8700 60 -20  65 133 153   0  68 100  60

#define S_base03        #002b36
#define S_base02        #073642
#define S_base01        #586e75
#define S_base00        #657b83
#define S_base0         #839496
#define S_base1         #93a1a1
#define S_base2         #eee8d5
#define S_base3         #fdf6e3
#define S_yellow        #b58900
#define S_orange        #cb4b16
#define S_red           #dc322f
#define S_magenta       #d33682
#define S_violet        #6c71c4
#define S_blue          #268bd2
#define S_cyan          #2aa198
#define S_green         #859900

!# I removed this, causing some GUI problems, I think
!#*background:            S_base03
*foreground:            S_base00
*fading:                40
*fadeColor:             S_base03
*cursorColor:           S_base1
*pointerColorBackground:S_base01
*pointerColorForeground:S_base1

!! black dark/light
*color0:                S_base02
*color8:                S_base03

!! red dark/light
*color1:                S_red
*color9:                S_orange

!! green dark/light
*color2:                S_green
*color10:               S_base01

!! yellow dark/light
*color3:                S_yellow
*color11:               S_base00

!! blue dark/light
*color4:                S_blue
*color12:               S_base0

!! magenta dark/light
*color5:                S_magenta
*color13:               S_violet

!! cyan dark/light
*color6:                S_cyan
*color14:               S_base1

!! white dark/light
*color7:                S_base2
*color15:               S_base3

0

256 цветов

Соляризованная палитра делает не включите все подходящие цвета для этого большинства современных терминалов, включенных по умолчанию в список цветовых атрибутов, предоставляемых вашим виртуальным терминалом. Насколько я понимаю, ваш виртуальный терминал предоставляет список цветов (от color0 до color255 - то есть 256 цветов), представленных обычно в виде шестнадцатеричных значений. Это позволяет вашему терминалу в графической среде (не tty) отображать каждый цвет {0..255} отображаться определенным цветом.


Вы можете просмотреть все 256 цветов в вашем виртуальном терминале, запустив этот короткий скрипт bash Я сделал. Вы должны увидеть что-то вроде этого:

256 color picker screenshot


Например, я использую улица Виртуальный терминал в 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} ) настроить "правильно":

enter image description here

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.