Chinaunix首页 | 论坛 | 博客
  • 博客访问: 159615
  • 博文数量: 29
  • 博客积分: 1477
  • 博客等级: 上尉
  • 技术积分: 578
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-23 10:42
文章分类
文章存档

2015年(1)

2014年(4)

2013年(3)

2012年(1)

2011年(1)

2009年(19)

我的朋友

分类: LINUX

2013-03-14 13:20:52

手头还有一个godocmenu的插件,整理好了发上来
有人问:vim希望光标底部某一行时屏幕就开始下滚(也就是始终保持底部有N行),应该怎么实现?
然后我给写了个插件:
function! MyAutoScroll()
  let s:SusLines=5
  if winheight(winnr())-winline()>=s:SusLines
    return
  else
    let thisline=winline()
    let inbetween=winheight(winnr())-thisline
    while inbetween <= s:SusLines
          exec "normal!  \"
          let inbetween=inbetween+1
    endwhile
    echo winheight(winnr()) . winline() . inbetween. s:SusLines
  endif
endfunction

autocmd! CursorMoved,CursorMovedI * call MyAutoScroll()

把上面的代码保存为myautoscroll.vim,放在~/.vim/plugin下面就可以了。该代码默认在光标下面保留5行,如果你想保留其它行数可以设置let s:SusLines=你想要的值。

为你写的代码,亲测可用。
阅读(1670) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~