Как проверить значение параметра Vim в Vimscript?

15

В Vimscript, как я могу проверить текущее значение опции Vim?

Чтобы уточнить, я хочу сделать команду для переключения из Full-GUI Mode ( guioptions=+tM) в Hacker Mode ( guioptions=-tM).

Тем не менее, я не могу найти способ разобрать :set guioptions?значение

Stolas
источник

Ответы:

13

Вы можете использовать &{option-name}оператор if следующим образом:

if &guioptions ==# "Trl"
    echo "Toolbars and scrollbars are present!"
elseif &guioptions ==# ""
    echo "No toolbars and scrollbars present!"
endif

В &указывает , что имя переменной является параметр Vim.

Смотрите :help :let-&для полной документации.

Акшай
источник
3

Акшай решил: просто разместив получившийся случай, он может понадобиться другим людям.

function! ToggleMenuBar()
    let l:menu_option = strridx(&guioptions, "m")
    let l:toolbar_option = strridx(&guioptions, "T")
    if l:menu_option > 0
        set guioptions-=m
    else
        set guioptions+=m
    endif
    if l:toolbar_option > 0
        set guioptions-=T
    else
        set guioptions+=T
    endif
endfunction
Stolas
источник