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



вы можете set цветовая схема Vim путем выдавать



:colorscheme SCHEME_NAME


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



:colorscheme


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



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

541   3  

3 ответов:

нет гарантированного способа (поскольку цветовая схема по существу является загрузкой команд 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

лучший вариант-использовать :colo или :colorscheme в текущем vim и фактическом тексте colorscheme отображается. Пожалуйста, смотрите,

:help colorscheme 

для более подробной информации.

однострочная версия ответа драла:

let current_scheme = get(g:, 'colors_name', 'default')

The

Comments

    Ничего не найдено.