Почему цветовые схемы vim отличаются между gvim и обычным терминалом? - PullRequest
11 голосов
/ 31 декабря 2011

Почему цветовые схемы vim отличаются между gvim и обычным терминалом? Например, многие схемы этой витрины не работают в обычном терминале. Я сохраняю все новые схемы в ~/.vim/colors/ и устанавливаю с :colorscheme cool

Есть ли способ решить эту проблему?

Ответы [ 4 ]

10 голосов
/ 31 декабря 2011

Окна терминала (например, xterm) обычно ограничены 2 ** 8 цветами. С другой стороны, термин GUI может иметь столько же цветов, сколько ваш рабочий стол с графическими окнами.

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

Если вам нужно преобразовать схему GUI в терминал (256 цветов), вы можете использовать плагин CSApprox .

9 голосов
/ 31 декабря 2011

Два текущих ответа довольно хороши. Ваш голос должен перейти к Майку, потому что нет идеального обходного пути.

Цветовые схемы Vim обычно определяют цвета отдельно для GUI и для CLI. Некоторые цветовые схемы ничего не определяют для CLI, а те, которые используют цвета X11 .

Эти цвета X11 (отмеченные 0-255) были более или менее стандартизированы в течение очень долгого времени и действительно работают только в эмуляторах терминала, которые поддерживают 256 цветов. В других менее способных терминальных эмуляторах более высокие числа пропускаются, и ваши цвета перепутаны.

Графический интерфейс Vim также может использовать эти 256 цветов плюс любой цвет, который вам может понадобиться, если он указан в шестнадцатеричной записи (# 00d6e3).

Поскольку в цветовых схемах GUI могут использоваться тысячи цветов, а в цветовых схемах CLI может использоваться только 256 цветов, значения, используемые для CLI, могут быть только приблизительными по сравнению с теми, которые используются в GUI. Вот почему CLI Vim не может выглядеть как GUI Vim, даже если вы используете современный эмулятор терминала.

Если выбранная вами схема цветов настаивает на использовании цветов вне диапазона X11, CLI Vim и GUI Vim никогда не будут выглядеть одинаково.

Единственный способ синхронизировать цвета GUI и CLI Vim, который я вижу, - отключить цветовую схему GUI, используя цвета X11 только .

1 голос
/ 04 августа 2014

Theres новый ребенок в блоке под названием CSExact , который придает вам форму точных цветов схемы цветов. Цвета выглядят намного лучше, чем с CSApprox.

Этот плагин позволяет использовать цветовые схемы GUI (GVim) в (некоторых) терминалах. Это делается с помощью терминала магия, чтобы изменить цветовую палитру терминала при запуске и каждый раз при загрузке цветовой схемы.

1 голос
/ 31 декабря 2011

Поскольку gvim напрямую выбирает цвета X11, а терминал vim использует доступную палитру терминалов.

Так что, если вы используете современный терминал (gnome, kde или даже OS X), вы можете изменить палитру доступных цветови VIM будет выглядеть совершенно иначе.С другой стороны, GVIM устанавливает цвета напрямую, без промежуточного слоя перевода в терминальном приложении.

...