Пользовательская цветовая схема не работает в VIM

Вот что я сделал:

cp ~/.vim/colors/ir_black.vim /usr/share/vim/vim72/colors/

Затем попытался открыть какой-то код и :colorscheme ir_black

Он меняет несколько цветов, но заставляет большую часть текста мигать вместе с курсором. То же самое происходит почти со всеми другими пользовательскими цветовыми схемами. Есть ли у кого-нибудь идеи, что может быть не так?

Я добавил t_Co=256 в свой файл .vimrc, и это, похоже, не помогло.

PS: Я использую Mac OS X.


person Bernardo Oliveira    schedule 13.01.2011    source источник
comment
Я не думаю, что за это можно ответить, не зная, что там ir_black.vim.   -  person JSBձոգչ    schedule 14.01.2011
comment
Терминал на osx не поддерживает 256 цветов. Кроме того, вам, вероятно, не следует никогда изменять t_Co вручную, это зависит от возможностей вашего терминала.   -  person Randy Morris    schedule 14.01.2011


Ответы (3)


Изменить: я нашел точную копию вашего вопроса: здесь. Кажется, проблема в том, что iTerm по умолчанию не поддерживает 256 цветов.

Обычная проблема с цветовой схемой и терминалом заключается в том, что терминал часто ограничен 256 цветами, а цветовая схема графического интерфейса пользователя использует 2 ^ 32 цвета. Поэтому некоторые из них некорректно отображаются в терминале.

Есть простой тест, который можно проверить: если вы запускаете версию с графическим интерфейсом, правильно ли отображается цветовая схема?

Возможные решения:
1. Преобразуйте цветовую схему в 256 цветов с помощью следующего плагина: CSApprox.vim
2. Выберите другую цветовую схему. (Часто на Vim.org цветовые схемы, совместимые с Терминалом, содержат «256» в своем имени, например, «wombat256»)
3. Используйте версию с графическим интерфейсом, такую ​​как MacVim или GVim

Если я правильно помню, цветовая схема Zenburn отлично работает с обоими Версия с графическим интерфейсом и терминалом. Он довольно темный, в пастельных тонах.

Личная история: потратив много времени на то, чтобы возиться с цветовой схемой, чтобы получить что-то правильное для терминала, я переключился на версию с графическим интерфейсом. Версия с графическим интерфейсом пользователя со скрытой панелью значков в любом случае не отличается от версии терминала, если вы работаете локально.

person Xavier T.    schedule 14.01.2011
comment
Извините за то, что так долго, и спасибо! Я просто переключился на MacVim для локальной работы и настроил собственную цветовую схему, чтобы она работала на терминале. :) - person Bernardo Oliveira; 29.05.2011
comment
Просто комментарий: я установил CSApprox.vim, и все цветовые схемы, которые я пробую сейчас, работают хорошо. Спасибо за совет! - person smessing; 31.10.2012
comment
+1 Это ответ, который решил мою проблему (т.е. использование colorscheme wombat (точнее - colorscheme wombat256mod) в терминале). Раньше меня соблазняли устанавливать интерфейсы GUI, проверять параметры iTerm2 и т. Д. - person Piotr Migdal; 17.12.2012

Установите TERM на xterm-256color. Обратитесь к списку рассылки iterm2, если он все еще не работает.

person George    schedule 26.01.2011
comment
Это решение. Потрясающий. Спасибо. Небольшое примечание для ясности для других: для этого откройте файл .vimrc и добавьте в любое место set term = xterm-256color, прежде чем устанавливать цветовую схему. - person Ethan; 18.08.2011
comment
Спасибо :) +1 за это решение. - person justin; 16.04.2013
comment
Это решение. - person Erwin Rooijakkers; 30.08.2014

двоичный файл vim по умолчанию в / usr / bin / не будет работать ни с одним терминалом. для проверки вам нужна версия, поддерживающая графический интерфейс "echo has ('gui')" в командном режиме vim.

так что ваш единственный вариант - использовать графический интерфейс (macvim и т. д.) или скомпилировать его с помощью athena, gtk или x11 с macports, но я бы посоветовал не использовать последний, потому что он снимает кучу зависимостей.

Я думаю, что лучше использовать macvim для серьезных разработок, требующих подсветки синтаксиса, и использовать 16-цветную версию в терминале для быстрого редактирования.

person bamdad    schedule 09.06.2011