iterm vim colorscheme не работает - PullRequest
       26

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

31 голосов
/ 21 сентября 2010

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

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

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

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

Ответы [ 5 ]

79 голосов
/ 22 сентября 2010

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

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

:echo &t_Co

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

let &t_Co=256
70 голосов
/ 22 сентября 2010

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

:syntax enable
19 голосов
/ 15 марта 2016

Для тех, у кого все еще есть проблемы.

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

setup

11 голосов
/ 27 апреля 2012

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

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

  2. Настройте 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
    
3 голосов
/ 02 августа 2012

Несмотря на то, что следовал всем советам в этом (и других, похожих) вопросах, я в конце концов обнаружил, что моя проблема в забытой части 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, где они находятся), и с тех пор у меня все работает правильно.

...