設置後、ソラリゼーションカラースキームが期待通りにはならなかった

設置後、ソラリゼーションカラースキームが期待通りにはならなかった

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  

ターミナル自体も solarized 用に設定しました。これは、インターネットのどこかからコピーした ~/.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色

ソラリゼーションパレットはない最新の端末のほとんどが、仮想端末によって提供される色属性のリストにデフォルトで含めている適切な色をすべて含めます。私の理解する限りでは、仮想端末は、通常 16 進数値で表される色のリスト (color0 から color255 まで、つまり 256 色) を提供します。これにより、グラフィカル環境 (tty ではない) 内の端末で、{0..255}特定の色で表示される各色を表示できます。


次のコマンドを実行すると、仮想端末で256色すべてを表示できます。短い bash スクリプト作成しました。次のようになります。

256色ピッカーのスクリーンショット


例えば、私はstLinux の仮想端末で、vim 内で solarized colorscheme を取得するには、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のsolarized colorschemeでは、少なくともcolor0と をcolor8適切に設定する必要があることに注意してください。これらの2つの色はないデフォルトでは、{0..255}色の一覧に表示されます。そこから、solarized スキームの範囲で使用される色に似た色を使用できます{0..15}が、私は単にコンソール全体を solarized にして solarized にするだけで、正常に機能します。

ヴィム

vimrc 内の設定に関しては、solarized colorscheme に関して言及する価値のある点がいくつか見つかりました。

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、たとえば、コメントやその他斜体にすべきものはすべて、明るい灰色の背景に濃い青のテキストが表示されます。これは非常に気が散るし、デバッグも簡単ではありません。「なぜこれが反転されているのか」と考えるだけで、原因がよくわからないからです。

最後に、let g:solarized_bold=1vimrcに入力します(または、デフォルトで有効になっているので、デフォルトのままにしておきます)。太字はおそらく正しく解釈されますが、太字がない有効にすると、ポップアップメニューで問題が発生します(実際には、solarized_boldで無効にすると0、メニュー内のものは奇妙なことに十分大胆な- これは直感に反しますが、太字にしておくべき理由です。これは実際にはデフォルトなので、必要に応じて vimrc から省略できます。

{0..15}端末の 256 色 ( ) が「適切に」設定されていると、次のようになります。

ここに画像の説明を入力してください

関連情報