Vim9: :def 函数在旧版脚本中可以通过赋值创建脚本变量
作者: h-east创建于 2026年9月27日更新于 2026年9月27日
在传统脚本中(没有 vim9script),:def 函数可以通过赋值来创建一个新的脚本局部变量:
def s:F()
s:ccc = 1
enddef
call s:F()
echo s:ccc这会回显 1。在同一位置声明变量会被拒绝:
def s:F()
var s:ccc = 1 # E1101: Cannot declare a script variable in a function
enddef而 let s:ccc = 1 会报错 E1126,因为 :let 不能在 :def 函数中使用。
内容来源: vim/vim