oeasy教您玩转vim - 29 - # 垂直翻页
垂直翻页
回忆上节课内容🤔
我们上次了解了横向滚动的相关信息
横滚幅度 -
sidescroll
横滚留位 -
sidescrolloff
自动换行 -
wrap
gj、gk可以逐行上下移动
可以控制切换行的控制键
whichwrap
这就是横向移动的内容
不过程序中一般一行不会超过80个字符
纵向移动更为普遍
纵向移动有什么好玩的吗?🤔
我们先下载个长点的文档
http://users.csc.calpoly.
git clone http://github.com/overmind1980/vimtutorial.git
然后用无模式的方式打开他
vi -u NONE tomsawyer.txt
边缘移动
首先设置非兼容
:set nocompatible
然后设置显示行号
:se nu
23G到 23 行
j再向下的时候
屏幕发生滚动,光标位置如图

上下留边
上下留边的话就要用
:set scrolloff=2
这样的话上下翻动的话,都会有
2
行的预留:h scrolloff
查看帮助s
[croll]o
[ff] 管的纵向保留边距俗称留天留地

留边细节
scrolloff
是一个option
可以设定最小值
还可以查询细节
:h 'scrolloff'

scrolloff
管的是纵向
留天留地sidescrolloff
管的是横向
留天留地也可以用
HML
命令测试一下H到当前屏幕能到的最上行 High
M到当前屏幕正中 Middle
L到当前屏幕能到的最下行 Low
上下翻页

在
scroll.txt
可以找到:h CTRL-F
使用ctrl+f可以向下走
f
的含义是forward
向下走同理
b
的含义是backward
向上走ctrl+b可以向上走
在翻页之前加上数字 [count] 可以实现一次翻 10 页
如10ctrl+f
或10ctrl+b
注意观察cmd的位置
向上 N 行
我们可以用ctrl+e向下 1 行
ctrl+e和j的不同是
ctrl+e光标所在文件位置不变,整个屏幕向上,除非到了边缘,光标位置才改变
j是屏幕整个位置不变,光标位置向下,除非到了边缘,屏幕位置才改变

同理可以ctrl+y屏幕向下移动
他们都可以使用
[count]
来翻倍
翻过半屏
ctrl+d可以向下走 翻半屏 d 代表 Down
ctrl+u可以向上走 翻半屏 u 代表 Up
默认翻的是半屏,但是也可以通过
scroll
来设置:set scroll=5
来明确翻的行数翻页的时候,光标在屏幕的相对位置不变,屏幕整体向上或向下移动

总结
这次我们主要讲的翻页
:set scrolloff=2
控制留天留地上下翻页(这个最常用)
ctrl+f屏幕向上走一屏
ctrl+b屏幕向下走一屏
上下移屏一行
ctrl+e屏幕向上走一行
ctrl+y屏幕向下走一行
上下移屏一段
ctrl+u向上走半屏
ctrl+d向下走半屏
移动数量和
scroll
相关上述翻页都可以用
[count]
翻倍如果想屏幕相对文件位置不动
只移动光标
可以么?🤔
下次再说 *
vimtutorial是oeasy制作的的一套关于vim的教程
Github地址→https://github.com/overmind1980/vimtutorial
Gitee地址→https://gitee.com/overmind1980/vimtutorial
蓝桥实验楼地址→https://www.lanqiao.cn/teacher/courses/2840 邀请码FJWYIMGB