安裝後 Solarized 配色方案未如預期顯示

安裝後 Solarized 配色方案未如預期顯示

1

我安裝 Solarized 後,背景顏色沒有如預期顯示。 vim 使用終端機黑色背景而不是使用 Solarized 的藍色背景。我的終端也設定為 Xterm-256color。我已經嘗試了包括這一行在內的幾個選項let g:solarized_termtrans = 1,但它仍然沒有任何區別。我在這裡做錯了什麼?

答案1

是啊。我也有同樣的問題。

你應該添加

"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”行,這可能正是您所需要的,但無論如何,這對我有用。但是,它確實會改變您終端的顏色。

!! ================= 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

答案2

256色

曬過的調色盤確實不是包括大多數現代終端預設包含在虛擬終端提供的顏色屬性清單中的所有正確顏色。據我了解,您的虛擬終端提供了通常以十六進位值表示的顏色清單(從 color0 到 color255 - 即 256 種顏色)。這允許圖形環境(不是 tty)內的終端{0..255}以某種顏色顯示每種顏色。


您可以透過執行以下命令在虛擬終端機中查看所有 256 種顏色簡短的 bash 腳本我做了。你應該看到這樣的東西:

256顏色選擇器截圖


例如,我使用英石Linux 中的虛擬終端,為了在 vim 中獲得 Solarized 顏色方案,需要在 st 的設定檔中設定終端顏色 0-15,如下所示:

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 中的 Solarized 配色方案,你必須至少有color0color8設定正確,因為這兩種顏色是不是預設情況下在顏色清單中找到{0..255}。從那裡,您可以使用與日光照射方案範圍內使用的顏色類似的顏色{0..15},但我只是將整個控制台進行日光照射,然後讓日光照射使其正常工作。

維姆

至於你的 vimrc 中的配置,我發現一些關於 Solarized 配色方案值得一提的事情。

let g:solarzied_termcolors=256即使終端支援 256 色,也會弄亂終端中的顏色。這可能是因為當solarized_termcolors 256,它可能期待像 gvim 這樣的 GUI。因此,最好將該設定保留為預設值。

我注意到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 中刪除)。

{0..15}當您「正確」設定終端的 256 色 ( ) 時,它可能如下所示:

在此輸入影像描述

相關內容