Bagaimana cara memeriksa nilai opsi Vim di Vimscript?

15

Di Vimscript, bagaimana saya bisa memeriksa nilai saat ini dari opsi Vim?

Untuk menguraikan, saya ingin membuat perintah untuk beralih dari Mode Full-GUI ( guioptions=+tM) ke Mode Hacker ( guioptions=-tM).

Namun, sepertinya saya tidak dapat menemukan cara untuk menguraikan :set guioptions?nilai

Stola
sumber

Jawaban:

13

Anda dapat menggunakan di &{option-name}dalam pernyataan if seperti:

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

The &menetapkan bahwa nama variabel adalah pilihan Vim.

Lihat :help :let-&dokumentasi lengkapnya.

akshay
sumber
3

Akshay menyelesaikannya: Hanya memposting fungsi yang dihasilkan orang lain mungkin perlu / menginginkannya.

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
Stola
sumber