Как сказать, какую систему цветов сессия Vim в настоящее время использует

Можно установить цветовую схему Vim путем издания

:colorscheme SCHEME_NAME

но достаточно странно Вы не можете получить в настоящее время используемую схему путем издания

:colorscheme

поскольку это приводит к"E471: Argument required". Я также не вижу цветовую схему, перечисленную в выводе :set.

Таким образом, как Вы идете о выяснении используемой схемы текущего цвета (кроме ручного переключения тем, пока Вы не распознаете его)?

97
задан gotgenes 10 March 2010 в 18:48
поделиться

1 ответ

Нет гарантированного способа (поскольку цветовая схема - это, по сути, набор команд vim, которые источник). Однако по соглашению должна быть переменная g: colors_name , которая устанавливается в имя цветовой схемы.

Поэтому попробуйте следующее:

echo g:colors_name

Если вы получаете E121, это либо плохо сделанная цветовая схема, либо цветовая схема по умолчанию.

Более яркий способ сделать это (для последних версий vim):

function! ShowColourSchemeName()
    try
        echo g:colors_name
    catch /^Vim:E121/
        echo "default
    endtry
endfunction

Затем выполните:

:call ShowColourSchemeName()

Если там написано «по умолчанию», выполните : colorscheme default и посмотрите, меняются ли цвета . Если они это сделают, вы используете искаженную цветовую схему, и вы ничего не можете с этим поделать, кроме как вручную переключать темы, пока не распознаете это.

Переменная g: colors_name задокументирована здесь :

:help colorscheme
148
ответ дан 24 November 2019 в 05:26
поделиться
Другие вопросы по тегам:

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