很不错,非常感谢!
之前一直不清楚$0的意义,只是照抄内置snippet,以为它就表示最后一个Placeholder fields。
现在看起来,$0只是表示一个 Tab stop fields,而不是一个 Placeholder fields。
这甚至部分解决了这个问题:yasnippent的问题:你们是怎么处理变长参数和嵌套的? - #8,来自 chansey97
因为相当于一个nested expression完后后可以jump到外部,这样外部的多参数就可以空格之后继续往下写了。
(之所以说部分解决,因为像let那样每一个var-val pair有自己的括号,所以val如果是嵌套表达式它只能jump到自己的外部,但jump不出var-val的括号。但确实能解决问题过程调用的那种变参)