6

Я пытаюсь использовать vim в сеансе экрана GNU, но всякий раз, когда я открываю vim внутри экрана, подсветка синтаксиса использует совершенно разные цвета по сравнению с тем, когда я открываю vim вне экрана GNU.

Почему vim меняет цвета подсветки синтаксиса, когда я открываю его внутри экрана, и как мне это исправить?

Примечание: я использую spf13-vim в iTerm2 (OS X).

Редактировать: эти два изображения показывают разницу при использовании vim в обычном bash и при использовании его внутри экрана:

  • Нормальный:Нормальный vim

  • Внутренний экран:Vim внутри экрана

3 ответа3

3

Я бы посмотрел на переменную среды TERM . Когда вы запускаете screen, он должен быть screen-256color . Итак, попробуйте запустить эту команду:

$ TERM=screen-256color vim

Если это поможет, то вам, вероятно, следует изменить настройки screen , чтобы автоматически установить правильный TERM . (Я не уверен в конфигурации screen , я использую tmux и у меня были похожие проблемы, которые были решены путем установки правильного TERM)

2

У меня были похожие симптомы, за исключением того, что это произошло со всеми программами, а не только с vim. Для меня было принято решение установить более новую версию экрана (я использовал GNU screen в качестве бэкэнда для byobu.) Я установил экран, используя Macports "port install screen", но я предполагаю, что будет достаточно любого метода.

В моей системе /usr/bin/screen --version сообщила 4.00.03 (FAU) 23-Oct-06 . Но новый экран сообщает 4.02.01 (GNU) 28-Apr-14 . Я не могу подтвердить, было ли обновление версии ключевым шагом, или экран Macports каким-то образом настроен по-другому.

0

Надеюсь, еще не поздно.

Обычно на вашем ~/.vimrc может быть строка

colorscheme yourColorScheme

где yourColorScheme - это один из файлов конфигурации цвета .vim, который вы можете найти в /usr /share /vim /vim80 /colors /, без расширения .vim Пример, я хочу использовать /usr /share /vim /vim80 /colors /blue VIM файл конфигурации, я делаю

colorscheme blue

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

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

Единственное неприятное, что вам, вероятно, придется попробовать все настройки, перечисленные в /usr /share /vim /vim80 /colors /, чтобы найти понравившуюся вам (я советую вам открыть терминал с открытым ~ / .vimrc в для тестирования различных цветовых схем, второй терминал, в котором вы vim файл, который показывает вам хороший цвет синтаксиса, который вам нравится, и третий и третий, где вы запускаете экран и vim тот же файл, чтобы увидеть новый цвет синтаксиса и сравнить)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .