Как получить цвета vimrc для заполнения экрана?

575
kabeersvohra

У меня есть цветовая схема, установленная в vimrc. Когда я установил его и установил переменную term в xterm-256color, у меня был цвет фона только для текста. Затем я нашел решение установить в качестве значения переменной «screen-256color», но это позволило фону заполниться только текстом в файле, но не пустым местом ниже. У кого-нибудь есть решение для этого? Я приложил оба скриншота ниже:

Xterm-256-цветные

Экран-256-цветные

0

1 ответ на вопрос

0
Krishna

Из ваших снимков экрана видно, что вы работаете над приложением cmd.exe и используете vim из функции Windows Subsystem for Linux (WSL) в Win10. В зависимости от того, в какой сборке вы находитесь в данный момент, вы можете иметь или не иметь полную поддержку желаемого цветового пространства (за пределами строк, содержащих какие-либо символы).

До недавнего времени cmd.exe поддерживал только 16 цветов. Таким образом, установка t_Co = 256 (или эквивалентного) в vimrc означает, что ваша 256-цветовая схема цветов должна быть приближена к ближайшему цвету в 16-цветовой палитре. В сентябре 2016 года разработчики WSL для Win10 объявили о поддержке 24-битной прыгучести в TrueColor всего 256 цветов. Вы можете прочитать об этом здесь . Однако в свойствах консоли нет общедоступной настройки для изменения схемы цветов.

Кроме того, разработчики Win10 решили заменить cmd.exe на PowerShell в качестве приложения командной строки по умолчанию, хотя Microsoft позже пояснила в своем блоге, что cmd.exe будет по-прежнему включаться в ОС, и никаких планов нет. осудить это. Цветовая схема Powershell по умолчанию поддерживает только 16-битные цвета. Существует запрос на включение функции поддержки большего количества цветов для powershell, и вы можете прочитать об этом на странице проблем Powershell на github.

Решением для вас было бы использовать встроенную сборку Windows Vim (доступную в шоколадных репозиториях, а также на официальных страницах github и в нескольких других источниках) и использовать gvim, который не должен иметь проблем при рендеринге 24-бит цвета.