如上篇日记所提到的,我希望vim也能像emacs那样,当我输入到最后一行的时候,自动把当前行放到屏幕的中央。
昨天晚上快睡觉前找到一个autocroll.vim的插件,可惜其作者的blog把换行符吃了。而本人比较愚钝,改了半天还是不行。细看了一下,这个插件是你不输0.5秒后开工。我晕,就算改好了,也不是我想要的效果。无语,决定自己写一个,于是上床睡觉。
一早起来,先放下剩下的单词,看看vim的help,了解了一下vim script的基本知识,觉得不难,就写了一下iautoscroll.vim,用来实现像emacs那样的自动卷屏。效果相当不错,应该说和emacs一样 : )
用法相当简单,把解压出来的iautoscroll.vim放到 ~/.vim/plugins下面就可以了。重启一下vim或gvim即可。这样当你输入时,就是在Inset Mode下,光标(cursor)到达窗口的最下面一行的时候,vim就会把当前行放到屏幕中央,和emacs一样。当然你还可以在~/.vimrc中设置
let g:IAutoScrollMode="<mode>"
其中<mode>可以是top, center和off。 center是默认的,top则是卷到屏幕第一行,off则是不动作。
下面是plugin的附件,需要的自己下吧 : )
iautoscroll.vim.zip
Thank you very much. It's very handy.