在Vim中zt和zz之间的滚动窗口

时间:2011-11-09 01:42:49

标签: vim scroll

我经常发现自己想要滚动一个Vim窗口,这样我所在的线路大约是屏幕下方的四分之一 - 它提供了比 z t <更多的呼吸空间/ kbd>,但显示的代码多于 z z 。当我的光标位于我想要读取的函数的开头时,它也很有用,但 z t 将切断类似Javadoc的注释。

我可以使用一些魔法来做到这一点吗?我恐怕根本不理解Vim的脚本。

2 个答案:

答案 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(向上滚动一行,将光标留在原处)。

相关问题