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 スクリプト作成しました。次のようになります。
例えば、私は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=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 色 ( ) が「適切に」設定されていると、次のようになります。