Vim 允许你定义参数个数可变的函数。下面的例子给出一个至少有一个参数 (start),但
可以多达 20 个附加参数的函数:
def Show(start: string, ...items: list<string>)
函数中的变量 "items" 会是包含额外参数的列表。用法就像普通的列表,如:
def Show(start: string, ...items: list<string>) echohl Title echo "start is " .. start echohl None for index in range(len(items)) echon $" Arg {index} is {items[index]}" endfor echo enddef
可以这样调用:
Show('Title', 'one', 'two', 'three') start is Title Arg 0 is one Arg 1 is two Arg 2 is three
上例中 echohl 命令被用来给出接下来的 echo 命令如何高亮输出。`echohl None`
终止高亮。 echon 命令除了不输出换行符外,和 echo 一样。
如果调用时只给出一个参数,"items" 列表会为空。
range(len(items)) 返回索引的列表,可以在其上用 for 循环,这方面后面会继续
解释。