Vimscript: использовать настройки vim как переменные/Как проверить, установлено ли определенное guioption или нет

Я хочу сделать функцию переключения в gvim, которая включала бы/выключала полосу прокрутки и обертывания.

Нет проблем для переключения опции обхода. Я просто использую set wrap!. Чтобы изменить настройку горизонтальной полосы прокрутки, мне нужно проверить значение параметра wrap или guioptions.

Вопрос в том, как читать значение wrap или guioptions? У вас есть другие хиты?

Ответы

Ответ 1

Вы можете использовать &setting для доступа к значению настройки vim. См. :help expr-option.

Здесь вы можете:

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

=~# в vimscript делает зависящее от регистра регулярное выражение.

Аналогично, если вы хотите проверить, не установлен ли параметр,

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

Если вы хотите временно сохранить настройку:

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