vim的call call与e129没有函数名与如何装饰函数
fun! Bd(F,...)
#不动函数,带参你操作了某个函数,然后不动
let s:i=line('.')
let H=function(a:F)
:call call(H,a:000)
#e129没有函数名,
:exe ':norm '.s:i.'G'
endf
#调用代码
fun! Qk3()
:call Bd('Qk2')
endf
#下面是bd0版本
fun! Bd0(F)
"不动函数不带参
let s:i=line('.')
let s:f=function(a:F)
:call s:f()
:exe ':norm '.s:i.'G'
endf
这里有意思的是:call call(H,a:000)
函数.
参考地址在此
我光是看见函数是这样,可就是在报错e129,没有函数名
.找半天,终于找到上面参考地址.别人说这里call(函数,参数列表)是个函数,而前面的call是命令
,所以总是搞不定.折腾了半天.
要用call call
,同时下次遇见e129没有函数名
时,也可以参考参考.
而call(H,a:000)
能够简化我们对可变函数的调用
,也是很好的.
可以用于类似py
的装饰器
.