如何在vim函数中设置数值变量

时间:2012-08-29 03:49:08

标签: vim

我正在尝试编写一个调用setlocal的函数来将一些变量设置为我传入的参数。但是我收到了错误Number required after =: tabstop=...

function! MyFunction(param)
    setlocal tabstop=param
    setlocal tabstop=a:param
endfunction

这两行都会失败。我缺少某种变量插值吗?

1 个答案:

答案 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来全局设置选项。