Vim脚本中函数参数的默认值

时间:2011-05-26 07:57:05

标签: vim

如何为Vim脚本中的参数指定默认值(例如0,None)?

3 个答案:

答案 0 :(得分:35)

从文档中看,参数似乎不能在Vim脚本中具有默认值。但是,您可以通过定义具有可变数量参数的函数来模拟这一点,并使用a:0确定额外参数的数量,并使用a:1a: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也没有提供该功能。