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装饰器.

posted @   zjh6  阅读(11)  评论(0编辑  收藏  举报  
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示