vim区间函数

fun! Qjtwj(f,...)
"区间头尾基,要求先用.t,.w设置头尾,
"每个函数都要求前2个为(本行,首行,剩余参数)
"就可以通过.t,.w进行动作."
let H=function(a:f)
let m=s:bt
echo[s:bt,s:bw]
call Ths(m)
"先跳行数,再一行行往下走.最后回到当前头."
for i in range(m,s:bw)
    let C=extend([i,m],a:000)
    call call(H,C)
    norm!j
    "先调用,再往下走一行.不然就错了."
endfor
call Ths(m)
endf

主要是为了.t.w来设置区间,通过该区间来调用函数,这里的函数要求前2个参数为当前行,当前区间首行.
这样,我们可以,通过实现依赖当前行与首行的函数来实现功能.

fun! Jxhy(i,j)
"加序号呀,i,j为当前行与区间首行"
let i=Thgs(":s/^/{},/",a:i-a:j)
exe i
endf

然后,调用Qjtwj('Jxhy')就可实现头尾区间的每行都调用Jxhy函数.

posted @ 2022-11-05 17:46  zjh6  阅读(23)  评论(0)    收藏  举报  来源