Come posso controllare il valore di un'opzione Vim in Vimscript?


15

In Vimscript, come posso verificare il valore corrente di un'opzione Vim?

Per elaborare, voglio fare un comando per passare dalla modalità Full-GUI ( guioptions=+tM) alla modalità Hacker ( guioptions=-tM).

Tuttavia, non riesco a trovare un modo per analizzare il :set guioptions?valore

Risposte:


13

È possibile utilizzare &{option-name}in un'istruzione if in questo modo:

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

I &specifica che il nome della variabile è un'opzione Vim.

Vedi :help :let-&per la documentazione completa.


3

Akshay lo ha risolto: basta pubblicare il caso di funzione risultante che altre persone potrebbero averne bisogno / desiderarlo.

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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.