Vimscript:使用vim设置作为变量/如何检查是否设置了特定的guioption

dev*_*use 13 vim

我想在gvim中创建一个切换功能,可以打开/关闭滚动条和换行选项.

切换换行选项没有问题.我只是用set wrap!.要更改水平滚动条设置,我需要检查wrap选项的值或guioptions.

问题是如何读取wrap或的价值guioptions?你有其他的点击吗?

Ben*_*oit 20

您可以使用&setting来访问vim设置的值.见:help expr-option.

在这里你可以这样做:

if &guioptions =~# 'a'
   ....
endif
Run Code Online (Sandbox Code Playgroud)

=~# 在vimscript中进行区分大小写的正则表达式匹配.

同样,如果要检查是否设置选项,

if &guioptions !~# 'a'
   ....
endif
Run Code Online (Sandbox Code Playgroud)

如果要临时保存设置:

let oldwrap=&wrap
set nowrap
... (your script assuming nowrap)
let &wrap=oldwrap
unlet oldwrap
Run Code Online (Sandbox Code Playgroud)

  • 我认为你不需要上面的`.*'.只要`和guioptions =〜#'a'`本身就会匹配任何带有'a'的guioptions. (2认同)