Вопрос

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

В VIM, например, я установил хорошие цвета, которые работают довольно хорошо в Macvim, но было бы здорово, если в ITERM он показал то же самое.

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

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

Это было полезно?

Решение

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

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

:echo &t_Co

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

let &t_Co=256

Другие советы

Для того, чтобы повернуть подсветку кода в VIM, попробуйте включить синтаксический плагин:

:syntax enable

Тем, у кого еще есть проблемы.

ITERM 2 -> Предпочтения -> Профили -> Цвета -> Минимальный контраст -> самый низкий

setup

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

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

  2. Настройте свой vimrc справиться с другими терминалами. Регулярный терминал в Snow Leopard поддерживает только 8 цветов и будет мигать, если вы попытаетесь использовать цветовую схему Color 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
    

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top