Условная система цветов в .vimrc

Я использую энергию и MacVim. У меня есть система цветов с 256 цветами, которую я люблю за своего MacVim, но если я загружаю ее в регулярную энергию, она, очевидно, не работает (я получаю blinkies вместо этого). Я хотел бы смочь использовать ту же конфигурацию энергии во всех своих системах, таким образом:

Есть ли способ проверить на размер палитры в .vimrc и набор одна из этих двух систем цветов соответственно? Если это не выполнимо, то проверка MacVim по сравнению с энергией также была бы хорошо.

17
задан Amadan 30 July 2010 в 04:45
поделиться

1 ответ

У вас есть несколько вариантов.

Думаю, лучше всего загрузить одну цветовую схему в .vimrc , а другую - в .gvimrc (или, в вашем случае, просто не загружайте цветовую схему в ] .vimrc вообще). Цветовая схема .gvimrc будет загружена только при использовании версии MacVim с графическим интерфейсом пользователя.

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

if has('gui_running')
    colorscheme mycrazycolors
endif

Наконец, если вы действительно хотите знать номер доступных цветов, вы можете проверить параметр t_Co :

:echo &t_Co

t_Co пуст в версии MacVim с графическим интерфейсом, поэтому вы, вероятно, все равно захотите использовать вариант () техника. Фактически, по умолчанию .vimrc делает что-то подобное, чтобы определить, когда включать подсветку синтаксиса:

if &t_Co > 2 || has("gui_running")
    syntax on
endif

Для полноты, я должен упомянуть, что вы также можете расширить свой файл цветовой схемы, чтобы включить разумные настройки для цвета терминалы. Однако это довольно объемная работа, и может быть проще просто переключиться на приложение терминала, которое поддерживает больше цветов.

См. Эти темы для получения дополнительной информации:

:help has()
:help termcap
:help termcap-colors
25
ответ дан 30 November 2019 в 12:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: