VIM屏幕滚动

滚动屏幕

命令CTRL-U可以向上翻滚半屏,但是可以通过设置scroll选项来控制这个命令翻滚的行数。例如命令:set scroll=10可以使得Vim一次翻滚10行。也可以通过改变CTRL-U命令的参数来改变翻滚的行数。例如命令2CTRL-U可以使得Vim一次向上翻滚两行。

当光标到达窗口上端或下端时,窗口要发生滚动。我们可以通过设置scrolljump选项来控制这个翻滚行数的大小,默认情况下为1。例如命令:set scrolljump=5将翻滚量设为5。与其相类似的就是sidescroll选项,所不同是后者控制水平的翻滚。

通常情况下,窗口翻滚是在光标到达窗口顶部或底部时才发生的。我们可以通过scrolloff选项来控制光标与顶部或是底部有多少距离时发生。例如命令:set scrolloff=3将值设为3,当光标与顶部距离为三行时发生翻滚,且翻滚后光标与底部相距三行。

放置行

有时我们希望将指定的行放在屏幕顶端。先将光标放在指定的行上,然后输入z<Enter>,这一行就会出现在屏幕的顶端了。我们还可以利用参数将指定的行置于屏幕顶端。例如命令8z<Enter>就是将第八行置于屏幕顶端。这个命令将指定的行置于顶端,并将光标移动到本行第一个非空白字符处。如果要将指定行置于顶端,并将光标保持在一行的当前位置不变,可以使用zt命令。

如果要将指定的行放在屏幕底部,可以使用命令z-或是zb。所不同的是,前者将光标放在这一行中第一个没有空白符的字符处,而后者是保持光标的位置不变。

命令zz或是z.可以将指定的行放在屏幕的中部。这两个命令的不同就是,前者保持光标的位置不变,而后者是将光标置于第一个非空白的字符处。

命令小结
CTRL-E向下动滚一行
CTRL-F向下滚动一屏
PageDown
CTRL-B向上滚动一屏
PageUp
H移动到屏幕顶部
M移动到屏幕中间
L移动到屏幕底部