Я пытаюсь настроить простую цветовую схему 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