devemouse
devemouse

Reputation: 5502

Vimscript: use vim settings as variables / How to check if specific guioption is set or not

I want to make a toggle function in gvim that would turn on/off scrollbar and wrap option.

There is no problem for toggling wrap option. I simply use set wrap!. To change horizontal scrollbar setting I need to check the value of wrap option or guioptions.

The question is how to read value of wrap or guioptions? Do you have some other hits?

Upvotes: 14

Views: 5691

Answers (1)

Benoit
Benoit

Reputation: 79243

You can use &setting to access the value of a vim setting. See :help expr-option.

Here you can thus do:

if &guioptions =~# 'a'
   ....
endif

=~# in vimscript does case-sensitive regex matching.

Similarly, if you wanted to check if an option is not set,

if &guioptions !~# 'a'
   ....
endif

If you want to temporary save a setting:

let oldwrap=&wrap
set nowrap
... (your script assuming nowrap)
let &wrap=oldwrap
unlet oldwrap

Upvotes: 21

Related Questions