我正在尝试编写一个调用setlocal
的函数来将一些变量设置为我传入的参数。但是我收到了错误Number required after =: tabstop=...
function! MyFunction(param)
setlocal tabstop=param
setlocal tabstop=a:param
endfunction
这两行都会失败。我缺少某种变量插值吗?
答案 0 :(得分:16)
您需要将选项定义为&option
变量。例如:
fun! MyFun(param)
let &l:tabstop = a:param
endfun
请参阅:help let-&
。 &l:
列在该标记下方,显示其等效于setlocal
。基本上,当您想要为表达式而不是定义的值设置选项时,您需要使用let &option=
而不是set option=
。使用let &l:option=
代替setlocal option=
。还有&g:option
来全局设置选项。