Como verifico o valor de uma opção Vim no Vimscript?

15

No Vimscript, como posso verificar o valor atual de uma opção do Vim?

Para elaborar, quero fazer um comando para alternar do modo GUI completo ( guioptions=+tM) para o modo hacker ( guioptions=-tM).

No entanto, não consigo encontrar uma maneira de analisar o :set guioptions?valor

Stolas
fonte

Respostas:

13

Você pode usar a &{option-name}instrução if se assim:

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

O &especifica que o nome da variável é uma opção do Vim.

Veja :help :let-&para a documentação completa.

akshay
fonte
3

Akshay resolveu: basta postar o caso de função resultante que outras pessoas possam precisar / querer.

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
fonte