.vimrc
に以下を追加すると機能します
:hi Folded ctermbg=Grey
しかし、それでも明るすぎて目立つので、代わりに次のように、より具体的なカラートリプレットを指定します。
:hi Folded ctermbg=#A0A0A0
しかし、viはそれを受け入れません:
Error detected while processing /home/guest/.vimrc:
line 10:
E421: Color name or number not recognized: ctermbg=#A0A0A0
助言がありますか?
cterm
のctermbg
は、「カラーターミナル」の略です。これは、Vimがターミナルエミュレータで実行されるときに背景色を定義するために使用され、grey
やcyan
などの名前付きの色または7
などの色番号のみを受け入れることができます。 16進値はGVim/MacVimでのみ機能し、次のようにguibg
/guifg
とともに使用する必要があります。
hi Folded guibg=#A0A0A0
シェルで$ echo $TERM
を実行します。xterm
、screen
、xterm-256color
またはいくつかのバリアントのようなものを返す必要があります。
8/16色を超える色を表示できない($TERM
に256color
が含まれていない)ターミナルエミュレーターでVimを実行する場合、別のグレーの色調を使用することはできません。ターミナルエミュレータで独自のパレットを定義します。
次のようになります。
hi Folded ctermbg=7
またはそのように:
hi Folded ctermbg=grey
ターミナルエミュレータが「256色対応」($TERM
には256color
が含まれる)としてアドバタイズする場合、その番号を使用する限り、 このグラフ で任意の色を使用できます。 (242
)であり、16進値ではありません。
次のようになります。
hi Folded ctermbg=242
romainl の説明に加えて、 here の説明に従って、次の行を.vimrcに追加する必要があります。
if &term =~ "xterm"
"256 color --
let &t_Co=256
" restore screen after quitting
set t_ti=ESC7ESC[rESC[?47h t_te=ESC[?47lESC8
if has("terminfo")
let &t_Sf="\ESC[3%p1%dm"
let &t_Sb="\ESC[4%p1%dm"
else
let &t_Sf="\ESC[3%dm"
let &t_Sb="\ESC[4%dm"
endif
endif
その後、 romainl によって提供される xterm256カラーテーブル から選択された10進カラー値は、それに応じてPuTTYに表示されます。