- 向下滚动:使屏幕下面不可见的内容向上,展示在屏幕中;使屏幕最上的内容超出屏幕消失不见;向下的意思为光标向下;
- 向上滚动:使屏幕上面不可见的内容滚动到视野中;向上的意思为光标向上
[count]<Ctrl-E>
- 使内容向上移动[count]
行,默认移动一行[count]<Ctrl-D>
- 使光标向下移动[count]
行;如果没有[count]
,则默认使用scroll
选项的值,该选项的默认值为半屏,即屏幕总行数的一半[count]<Ctrl-F>
- 使内容向上移动[count]
页,每一屏幕算是一页[count]z+
- 无[count]
时,将屏幕下未展示的第一非空白行在屏幕最上方作为第一行渲染;包含[count]
时,同z<CR>
,将光标所在行作为该页的第一行渲染在屏幕最上方
[count]<C-Y>
- 同<C-E>
,方向相反[count]<C-U>
- 同<C-D>
,方向相反[count]<C-B>
- 同<C-F>
,方向相反[count]z^
- 同z+
,方向相反
[count]z<CR>
- 将[count]
指定的行作为窗口的第一行进行重绘;光标会重置在第一个非空格的字符所在的列zt
- 同z<CR>
,只不过会保持光标所在列的位置z{height}<CR>
- 将当前窗口的高度调整为{height}
所指定的值,不会超过物理屏幕的高度[count]z.
- 将[count]
指定的行在屏幕中间重绘,光标会被重置在第一个非空字符所在的列zz
- 同z.
,不会重置光标所在列的位置[count]z-
- 将[count]
指定的行作为屏幕的最后一行进行重绘,且会重置光标的列位置,放置在第一个非空字符所在的列zb
- 同z-
,但是不会重置光标的位置
z<Right>
orzl
- 屏幕内容向左移动,使屏幕最右边被隐藏的内容展示出来z<Left>
orzh
- 屏幕内容向右移动,使屏幕最左边被隐藏的内容展示出来zL
- 将内容向右移动半屏的宽度zR
- 将内容向左移动半屏的宽度
上面四条命令在使用时光标会跟随屏幕;上面四条命令只有在 wrap
是关闭状态的时候才会生效。使用场景不是太多。
有时候会有两个或者多个屏幕同步滚动的需求,例如在做 git diff
或者 git blame
这种插件的时候,通常会要求针对当前 buffer 打开两个两个窗口,一个展示源码,另外一个窗口展示 blame 信息或者 diff 信息。
设置同步滚动的方式很简单,只需要在需要同步滚动的窗口中通过 :set scrollbind
来设置当前窗口跟其他窗口同步滚动。
:syncbind
强制所有设置了 scrollbind
的窗口有同样的相对位移。例如,当任何一个设置了 scrollbind
的窗口滚动到了顶部时,其他所有设置了 scrollbind
的窗口都会滚动到顶部。
:h scroll.txt
- Github
- Email: [email protected]