Vim: Сломанные цвета на старте

Я использую uxterm и vim со следующим.vimrc: https://github.com/dbrgn/dotfiles/blob/master/.vimrc

Когда я открываю файл в vim и не нажимаю какие-либо клавиши, цветной текст отображается жирным шрифтом, а строка состояния Powerline не использует никаких цветов.

Снимок экрана 1

Как только я нажимаю клавишу (например, переключаясь в режим вставки, перемещая курсор или нажимая Esc Esc), подсветка синтаксиса становится правильной и появляются цвета Powerline.

введите описание здесь

Это поведение не ограничивается файлами Python, оно также происходит с файлами.txt, которые не используют подсветку синтаксиса. Это ошибка или неправильная конфигурация в моем.vimrc?

Редактировать: я пробовал то же самое, даже с.vimrc, который содержал только "синтаксис включен", ничего больше. Даже тогда цвета подсветки синтаксиса изменились после первого нажатия клавиши. Это должна быть либо ошибка, либо отсутствующая переменная конфигурации.

1 ответ

Решение

Попробуйте разместить

set term=xterm-256color

в вашем ~/.vimrc файл и посмотреть, если это поможет.

Насколько я понимаю, проблема возникает потому, что когда Vim сначала запускает это читает $TERM переменная окружения и отображает интерфейс "безопасным" способом, чтобы гарантировать, что все, что он отправляет терминалу (все управляющие коды), поддерживается и весь текст будет читаемым. Когда пользователь вызывает обновление экрана (нажатием клавиши, переключением режимов и т. Д.), Он запрашивает у терминала, какие функции он на самом деле поддерживает, а затем снова отображает все со всеми включенными дополнительными функциями.

настройка term в xterm-256color сил Vim предположить, что некоторые из более сложных escape-кодов (цветной фон, полужирный / курсив и т. д.) поддерживаются перед запросом терминала.

Другие вопросы по тегам