iterm vim colorscheme не работает

Когда я запускаю vim из командной строки в iTerm, подсветка синтаксиса не работает локально.

Например, в vim я установил красивую цветовую схему, которая довольно хорошо работает в MacVim, но было бы замечательно, если бы в iTerm он показал ту же самую.

Любые идеи, как я могу включить это?

Это цветовая схема, которую я пытаюсь использоватьhttp://www.vim.org/scripts/script.php?script_id=2340

Ответы на вопрос(5)

а также некоторые связанные с этим проблемы, поэтому я подведу итоги.

Убедитесь, что iTerm настроен на использование 256 цветов. Пытаться$ echo $TERMв командной строке, и если вы не видитеxterm-256color затем следуйте инструкциямв этом ответе.

Настройте свойvimrc для обработки других терминалов, а также. Например, обычный терминал в Snow Leopard поддерживает только 8 цветов и будет мигать, если вы попытаетесь использовать цветовую схему 256 цветов (в этом случае я просто не устанавливаю ее). Вот что у меня есть:

" enable 256 colors in GNOME terminal (for my Ubuntu VM)
if $COLORTERM == 'gnome-terminal'
    set t_Co=256
endif

" set your color scheme (replace wombat with whatever yours is called)
" if you're using a gvim or macvim, then your color scheme may have a version
" that uses more than 256 colors
if has("gui_running")
    colorscheme wombat
elseif &t_Co == 256
    colorscheme wombat256
endif

" turn on language specific syntax highlighting
syntax on

iTerm 2 -> Настройки -> Профили -> Цвета -> Минимальный контраст -> Низкий

похожих) вопросах, я в конце концов обнаружил, что моя проблема в забытой части vimrc, который я взял где-то в Интернете несколько лет назад (потому что он был довольно хорошо организован), а затем значительно изменил для моих собственных целей.

Но проблемная область была в небольшой группе настроек, которые я никогда не трогал, в исходном файле, с которого я начал. Соответствующий бит .vimrc был:

   " GVIM- (here instead of .gvimrc)
   if has('gui_running')
          set guioptions-=T               " remove the toolbar
          set lines=40                    " 40 lines of text instead of 24,
   else
           set term=builtin_ansi       " Make arrow and other keys work
   endif

Неудивительно (ретроспективно), что эта строка «set term» сбрасывает вещи, так что независимо от того, какой тип ваш терминал сообщает в переменной среды TERM, вы получаете общий 8-цветный терминал ANSI. Установка 'term' в явном виде внутри .vimrc, вероятно, очень плохая идея, также как и установка t_Co напрямую.

Я удалил весь этот блок (и поместил настройки gvim в .gvimrc, где они находятся), и с тех пор у меня все работает правильно.

попробуйте включить модуль синтаксиса:

:syntax enable
 sarathprasath10 февр. 2015 г., 12:29
Добавьте «синтаксис на» без кавычек в файл .vimrc, чтобы сделать его постоянным
 Sean22 сент. 2010 г., 04:20
Напомним, что многие схемы созданы для GVim / MacVim и не обязательно отображают их полностью внутри терминала.
Решение Вопроса

как будто она поддерживает только 256-цветные терминалы. Если Vim считает, что ваш терминал поддерживает только 8 цветов, вы не увидите эту конкретную цветовую схему.

Вы можете проверить это в Vim:

:echo &t_Co

Если это вернется8, это может быть проблемой. Попробуйте установить его на 256 в вашем~/.vimrc и посмотрим, поможет ли это:

let &t_Co=256
 Niels Bom18 янв. 2012 г., 22:42
Команда ": echo & t_Co" ничего не возвращает для меня. (iTerm на снежном барсе)
 James McMahon10 дек. 2010 г., 01:42
У меня не работает терминал 10.6 по умолчанию. Это заставляет текст vim мигать черно-белым.
 subelsky25 мар. 2012 г., 22:45
вау большое спасибо, это беспокоило меня в течение ЛЕТ, и я никогда не пытался исправить это.
 James McMahon10 дек. 2010 г., 01:51
По-видимому, терминал Mac поддерживает только 16 цветов,jimlund.org/blog/?p=130.
 Derek Organ22 сент. 2010 г., 13:25
Я бы предположил, что в iTerm должна быть какая-то настройка, чтобы разрешить 256 цветов?
 Derek Organ22 сент. 2010 г., 13:26
хороший, который работал отлично
 timbo20 окт. 2016 г., 00:21
Хммм. У меня последняя версия iTerm2.echo &t_Co отчеты 256. Я до сих пор не получаю ту же подсветку синтаксиса, которую MacVim получает автоматически.
 Matt15 сент. 2011 г., 10:08
Новые версии iTerm2 теперь правильно устанавливают TERM = xterm-256color, поэтому vim должен знать, что поддерживается правильное количество цветов без установки каких-либо переменных, если у вас достаточно свежая версия. В противном случае вы можете установить это значение в настройках iTerm на вкладке «Терминал».
 JackHasaKeyboard02 июл. 2016 г., 03:39
Не "8 цветов", а 8-битные цвета. Значение 256 цветов. Просто указываю на это, хаха

Ваш ответ на вопрос