一个vim函数坑你安逸

getcurpos()cursor等位置函数,都要小心使用.

fun! Zlgbp(p)
"置列光标偏.偏移,p可为正或负"
let [a,b,c,d,e]=getcurpos()
let m=e+a:p
"let m=e-1+a:p"
"问题就在这里,这里一定要-1,不要问题找半天"
"e-1是不对的."
call Dd(m>=0)
"这里给它减1个.这里"
:call cursor(b,m)
endf

问题不在上边,而是这样的,从插入模式后进入正常模式,然后有两种方式再进入插入模式:
当为尾时,用a,如为前面时,则用i.

fun! Jyrc(b=0)
"加进入插,根据b(是插入尾,是尾才用a),进入插入模式""否则,用"i"进入插入模式".
if a:b
    call feedkeys("a")
else
    call feedkeys("i")
endif
endf

posted @ 2022-08-28 22:01  zjh6  阅读(16)  评论(0)    收藏  举报  来源