Wie überprüfe ich den Wert einer Vim-Option in Vimscript?

15

Wie kann ich in Vimscript den aktuellen Wert einer Vim-Option überprüfen?

Um dies zu erläutern, möchte ich einen Befehl zum Wechseln vom Voll-GUI-Modus ( guioptions=+tM) zum Hacker-Modus ( guioptions=-tM) ausführen .

Es scheint jedoch nicht möglich zu sein, den :set guioptions?Wert zu analysieren

Stolas
quelle

Antworten:

13

Sie können das &{option-name}in einer if-Anweisung wie folgt verwenden:

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

Das &gibt an, dass der Variablenname eine Vim-Option ist.

Siehe :help :let-&für die vollständige Dokumentation.

akshay
quelle
3

Akshay hat es gelöst: Einfach den resultierenden Funktionsfall posten, den andere Leute vielleicht brauchen / wollen.

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
quelle