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

时间:2012-07-07 18:07:10

标签: vim

在脚本中,我有以下无效代码:

set eval(rules[formatoption])=value

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

1 个答案:

答案 0 :(得分:6)

使用:execute

execute 'set' rules[formatoption] . '=value'

您还可以通过:let &optionname = ...更改Vim选项,但这在此处没有帮助。还有晦涩的:help curly-braces-names,但这在这里不起作用。