Cmder меняет цвета Vim под WSL - PullRequest
0 голосов
/ 21 мая 2019

Я использую Vim под WSL (Ubuntu) и установил Cmder для поддержки Unicode.
Кроме того, я скачал codedark цветовую схему для Vim, и под CMD она отлично работает:
enter image description here

Но когда я открываю его с помощью Cmder, это результат:
enter image description here

Как видите, цвета не совпадают.

В Cmder я выбрал Monokai в качестве своей цветовой схемы в настройках, и если я изменю ее на что-то другое, она также изменит цветовую схему Vim.

Почему Vim не отменяет эти настройки при включении?
Как я могу заставить Vim использовать ту же цветовую схему под любой консолью?

1 Ответ

1 голос
/ 23 мая 2019

Почему Vim не отменяет эти настройки при включении?

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

Ваш экран имеет 24-битные цвета (16 миллионов), но Cmder обеспечивает Vim только 8 бит (256 цветов),Поэтому Vim может выбирать из 256 индексов в палитре Cmder , то есть подмножество некоторых предварительно выбранных цветов (когда вы выбираете цветовую схему в терминале, вы фактически выбираете цвета в этой палитре).Поскольку эти цвета более или менее отличаются от исходной схемы кодирования, получающееся изображение также выглядит иначе.

Как я могу заставить Vim использовать одну и ту же цветовую схему на любой консоли?

Убедитесь, что ваш терминал предлагает правильную палитру.Или переключите оба терминала и Vim в режим TrueColor.Для Vim требуется установка опции termguicolors.Что касается Cmder, я не совсем уверен, но ConEmu, на котором основан Cmder, поддерживает TrueColor, так что вы можете попробовать.

...