我经常发现自己想要滚动一个Vim窗口,这样我所在的线路大约是屏幕下方的四分之一 - 它提供了比 z t <更多的呼吸空间/ kbd>,但显示的代码多于 z z 。当我的光标位于我想要读取的函数的开头时,它也很有用,但 z t 将切断类似Javadoc的注释。
我可以使用一些魔法来做到这一点吗?我恐怕根本不理解Vim的脚本。
答案 0 :(得分:9)
也许set scrolloff=5
(或者您想要的光标上方和下方有多少行)将为您提供帮助。这不是你要求的,但足够接近?
答案 1 :(得分:6)
您可以使用:
nnoremap <expr> zT 'zt' . winheight(0)/4 . '<c-y>'
nnoremap <expr> zB 'zb' . winheight(0)/4 . '<c-e>'
将zT重新映射到zt后跟当前窗口高度的四分之一和CTRL-Y(向上滚动一行,将光标留在原处)。