11

setlocal渡したパラメータにいくつかの変数を設定するために呼び出す関数を作成しようとしていますが、エラーが発生しますNumber required after =: tabstop=...

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

両方の行が失敗します。私が見逃しているある種の可変補間はありますか?

4

1 に答える 1

19

&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オプションをグローバルに設定することもできます。

于 2012-08-29T04:08:42.010 に答える