使用类似eval()的函数在Vim中设置变量

cru*_*izh 5 vim

在脚本中,我有以下不工作的代码:

set eval(rules[formatoption])=value
Run Code Online (Sandbox Code Playgroud)

rules字典在哪里formatoption,value是一个变量.我想让Vim读取变量名称rules[formatoption]并将其设置为value.如何让Vim以这种方式设置变量?我认为应该有类似setvar(name, value)或类似的函数,将name(字符串)设置为value.这行代码将使我免于在70行脚本中编写大约30行代码.

Ing*_*kat 7

用途:execute:

execute 'set' rules[formatoption] . '=value'
Run Code Online (Sandbox Code Playgroud)

您也可以通过改变Vim选项:let &optionname = ...,但这在这里没有用.还有一些模糊不清的东西:help curly-braces-names,但这里也不行.