¿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

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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.