2011-05-26 25 views

回答

34

从文档看来,参数在Vim脚本中不能有默认值。但是,您可以通过定义的参数变量数的函数,并使用a:0来确定额外的参数a:1人数并a:n访问它们效仿这样的:

function Foo(bar, ...) 
    if a:0 > 0 
    let xyzzy = a:1 
    else 
    let xyzzy = 0 
    end 
endfunction 
+5

使用三元语句的简短版本:'let l:xyzzy = a:0> 0? a:1:0'。 – wting 2014-03-23 06:18:23

1

您可以使用get中选择一个参数特定位置或默认值(如果不存在)。

function! Foo(bar, ...) 
    let baz = get(a:, 1, 0) 
endfunction