설치 후 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의 관련 섹션입니다.

"*배경" 줄을 제거했다는 점에 유의하세요. 아마도 정확히 필요한 것일 수도 있지만 어쨌든 이것은 저에게 효과적입니다. 그러나 터미널의 색상은 변경됩니다.

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

솔라라이즈 팔레트는~ 아니다가상 터미널에서 제공하는 색상 속성 목록에 기본적으로 포함되는 가장 최신 터미널에 적합한 색상을 모두 포함합니다. 내가 아는 한, 귀하의 가상 터미널은 일반적으로 16진수 값으로 표시되는 색상 목록(color0에서 color255, 즉 256색)을 제공합니다. 이를 통해 그래픽 환경(tty 아님) 내부의 터미널이 각 색상을 {0..255}특정 색상으로 표시할 수 있습니다.


이것을 실행하면 가상 터미널에서 256가지 색상을 모두 볼 수 있습니다.짧은 bash 스크립트내가 만든. 다음과 같은 내용이 표시됩니다.

256 색상 선택기 스크린샷


예를 들어, 나는Linux의 가상 터미널을 사용하고 vim 내에서 태양열화된 색상 구성표를 얻으려면 다음과 같이 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도 16진수 값을 사용하여 각 256색을 표시한다는 것을 알 수 있습니다.


vim의 태양광 색상 구성표의 경우 이 두 가지 색상이 다음과 같기 때문에 최소한 color0및 설정을 올바르게 설정 해야 합니다.color8~ 아니다기본적으로 색상 목록에 있습니다 {0..255}. 거기서부터 Solarized 구성표에 따라 범위에 사용되는 색상과 유사한 색상을 사용할 수 있지만 {0..15}, 저는 단순히 전체 콘솔을 Solarized로 만들고 Solarized되도록 하여 정상적으로 작동하도록 합니다.

정력

vimrc 내부 구성에 관해서는 Solarized 색상 구성표와 관련하여 언급할 가치가 있는 몇 가지 사항을 발견했습니다.

let g:solarzied_termcolors=256256색을 지원하더라도 터미널의 색상이 엉망이 됩니다. 아마도 그 이유는 다음과 같습니다.solarized_termcolors ~이다 256, 아마도 gvim과 같은 GUI를 기대하고 있을 것입니다. 따라서 해당 설정을 기본값으로 두는 것이 가장 좋습니다.

나는 set t_Co=16과 사이에 차이가 없다는 것을 알아차렸지만 set t_Co=256, 당신은아마set t_Co=16가상 터미널 내부를 원하면아마set t_Co=8tty 터미널 내부를 원합니다 .

let g:solarized_italic=0또한 다음과 같은 이유로 vimrc 내부에서 작업을 수행할 것입니다 . 많은 터미널에서 vim이 기울임꼴을 제대로 표시할 수 없는 경우(지원되는 경우에도), 종종 이전 상태로 되돌아갑니다.뒤집다반대 속성. 즉, 어두운 태양광 처리된 배경이 있고 로 기울임꼴을 활성화한 경우 1예를 들어 이탤릭체로 표시해야 하는 주석 및 기타 항목은 진한 파란색 텍스트와 함께 연한 회색 배경을 갖게 됩니다. 나는 이것이 매우 주의를 산만하게 하고 디버그하기가 그리 쉽지 않다고 생각합니다. 왜냐하면 여러분이 생각하는 것은 "왜 이 내용이 거꾸로 되어 있지?"이기 때문입니다. 그리고 당신은 그 출처를 확신하지 못합니다.

마지막으로 vimrc를 추가하겠습니다 let g:solarized_bold=1(또는 기본적으로 활성화되어 있으므로 기본값으로 두겠습니다). 굵은 글씨는 아마도 올바르게 해석될 것이며, 굵은 글씨가~ 아니다활성화하면 팝업 메뉴에 문제가 발생합니다(실제로 가 solarized_bold비활성화되면 0메뉴의 항목은이상하게도충분한용감한- 이는 반직관적이지만, 그렇기 때문에 그냥 굵게 표시해야 합니다. 이는 실제로 기본값이므로 원하는 경우 vimrc에서 제외할 수 있습니다.

{0..15}터미널의 256색( )을 "올바르게" 설정 했을 때의 모습은 다음과 같습니다 .

여기에 이미지 설명을 입력하세요

관련 정보