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

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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.