如何检查Vimscript中Vim选项的值?


15

在Vimscript中,如何检查Vim选项的当前值?

详细地说,我想发出一个命令,从“全GUI模式”(guioptions=+tM)切换到“黑客模式”(guioptions=-tM)。

但是,我似乎找不到解析:set guioptions?值的方法

Answers:


13

您可以&{option-name}像下面这样在if语句中使用:

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

&指定的变量名是Vim选项。

请参阅:help :let-&完整的文档。


3

Akshay解决了它:只需发布其他人可能需要/想要的功能案例。

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.