Comment vérifier la valeur d'une option Vim dans Vimscript?

15

Dans Vimscript, comment puis-je vérifier la valeur actuelle d'une option Vim?

Pour élaborer, je veux faire une commande pour passer du mode Full-GUI ( guioptions=+tM) au mode Hacker ( guioptions=-tM).

Cependant, je n'arrive pas à trouver un moyen d'analyser la :set guioptions?valeur

Stolas
la source

Réponses:

13

Vous pouvez utiliser le &{option-name}dans une instruction if comme ceci:

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

Le &spécifie que le nom de la variable est une option Vim.

Voir :help :let-&pour la documentation complète.

akshay
la source
3

Akshay l'a résolu: il suffit de publier le cas de fonction résultant, d'autres personnes pourraient en avoir besoin / vouloir.

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
la source