Фон Vim (не GUI) не станет белым

Фон Vim (не GUI) не станет белым

Я пытаюсь настроить простую цветовую схему Vim, представляющую собой черный текст на белом фоне.

Как сделать фон белым?

На основеbw.vim, однако у меня возникла проблема с тем, чтобы фон стал белым, вместо этого он становится серым.

hi Normal         ctermbg=White        ctermfg=Black

Дает тот же результат, что и:

hi Normal         ctermbg=Gray         ctermfg=Black

введите описание изображения здесь

Хотя, поменяв их местами, я могу получить белый текст на черном фоне.

Vim запущен в xterm с t_Co==8, версия Vim:

VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jul  4 2011 14:31:51)

Обновление1

Использование Gnome Terminal 2.16, который использует 16-цветную палитру:

tput colors
8

Терминал сообщает приложениям, что у него 8 цветов, что устанавливает t_Co равным 8 в Vim.

Vim использует эту информацию и использует 'palette entry 8' для белого, который в моем случае был установлен на средний серый. Не уверен, является ли реальная проблема неправильным ответом от tput или неправильным сопоставлением белого с палитрой.

Обновление2

Добавление -256color к term заставляет tput возвращать 256 и vim t_Co также возвращать 256.

Для КШ:

setenv TERM $TERM-256color

Изначально я колебался, стоит ли слепо применять 256 цветов к любой системе, над которой я работаю, но я думаю, что в наши дни редко встретишь терминал, который не поддерживает 256 цветов. Это также должна быть система/сеть, где я уже настроил свои dotfiles.

решение1

Если ваш эмулятор терминала — gnome-terminal, в нем есть настройка для ручного изменения стандартных 16 цветов, которые он поддерживает (gnome-terminal не поддерживаетнетподдержка 256 цветов). перейдите в настройки профиля -> цвета и обновите белый цвет, там он может быть серым.

решение2

Если ваш эмулятор терминала поддерживает 256 цветов, включите 256 цветов в vim:

set t_Co=256

После выдачи фон должен стать белым.

:highlight Normal ctermfg=black ctermbg=white

Связанный контент