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


15

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

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

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

Ответы:


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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.