Подтвердить что ты не робот

Как установить собственный цвет в сложенную подсветку в .vimrc(для использования с шпатлевкой)

Добавление следующего в .vimrc works

: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

Любые предложения?

4b9b3361

Ответ 1

cterm в ctermbg является коротким для "цветового терминала". Он используется для определения цвета фона, когда Vim работает в эмуляторе терминала и может принимать только именованные цвета, такие как grey или cyan, или номера цветов, такие как 7. Шестнадцатеричные значения работают только в GVim/MacVim и должны использоваться с guibg/guifg следующим образом:

hi Folded guibg=#A0A0A0

В вашей оболочке do $ echo $TERM: он должен возвращать что-то вроде xterm, screen, xterm-256color или некоторых вариантов.

Если вы запустите Vim в эмуляторе терминала, который не может отображать более 8/16 цветов ($TERM не содержит 256color), вы не сможете использовать другой оттенок серого, если только вы не определите свою собственную палитру в эмуляторе терминала.

Он должен выглядеть так:

hi Folded ctermbg=7

или так:

hi Folded ctermbg=grey

Если ваш эмулятор терминала рекламирует себя как "256 цветов готов" ($TERM содержит 256color), вы можете использовать любой цвет в this chart, пока вы используете его номер (242), а не его шестнадцатеричное значение.

Он должен выглядеть так:

hi Folded ctermbg=242

Ответ 2

В дополнение к romainl, следующие строки должны быть добавлены в .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

После чего любое значение десятичного цвета, выбранное из таблицы цветов xterm256, предоставлено romainl должен отображаться в PuTTY соответственно.