¿Cómo verifico el valor de una opción de Vim en Vimscript?

15

En Vimscript, ¿cómo puedo verificar el valor actual de una opción de Vim?

Para elaborar, quiero hacer un comando para cambiar del modo GUI completo ( guioptions=+tM) al modo pirata informático ( guioptions=-tM).

Sin embargo, parece que no puedo encontrar una manera de analizar el :set guioptions?valor

Estolas
fuente

Respuestas:

13

Puede usar el &{option-name}en una declaración if de esta manera:

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

Las &especifica que el nombre de la variable es una opción de Vim.

Ver :help :let-&para la documentación completa.

akshay
fuente
3

Akshay lo resolvió: simplemente publicando el caso de función resultante que otras personas podrían necesitar / desear.

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
Estolas
fuente