我正在尝试编写一个函数,调用setlocal
将一些变量设置为我传入的参数.但是我收到了错误Number required after =: tabstop=...
function! MyFunction(param)
setlocal tabstop=param
setlocal tabstop=a:param
endfunction
Run Code Online (Sandbox Code Playgroud)
两条线都会失败.我缺少某种变量插值吗?
Con*_*ner 17
您需要将选项定义为&option
变量.例如:
fun! MyFun(param)
let &l:tabstop = a:param
endfun
Run Code Online (Sandbox Code Playgroud)
见:help let-&
.在&l:
列出少许表示这是相当于该标签下面setlocal
.基本上,当您想要为表达式而不是定义的值设置选项时,您需要使用let &option=
而不是set option=
.用let &l:option=
而不是setlocal option=
.还有&g:option
全局设置选项.