5

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

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

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

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

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

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

1 ответ1

2

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

set term=xterm-256color

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

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

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

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