如何为Vim脚本中的参数指定默认值(例如0,None)?
答案 0 :(得分:35)
从文档中看,参数似乎不能在Vim脚本中具有默认值。但是,您可以通过定义具有可变数量参数的函数来模拟这一点,并使用a:0
确定额外参数的数量,并使用a:1
到a:n
来访问它们:
function Foo(bar, ...)
if a:0 > 0
let xyzzy = a:1
else
let xyzzy = 0
end
endfunction
答案 1 :(得分:7)
您可以使用get选择特定位置的参数或默认值(如果它不存在)。
function! Foo(bar, ...)
let baz = get(a:, 1, 0)
endfunction
答案 2 :(得分:2)
自Vim 8.1.1310以来,Vim还支持真正的可选函数参数。
但是,这意味着大多数vim安装尚不支持此功能。而且neovim也没有提供该功能。