oeasy教您玩转vim - 29 - # 垂直翻页

Posted overmind1980

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oeasy教您玩转vim - 29 - # 垂直翻页相关的知识,希望对你有一定的参考价值。

垂直翻页

回忆上节课内容????

  • 我们上次了解了横向滚动的相关信息
    • 横滚幅度 - sidescroll
    • 横滚留位 - sidescrolloff
    • 自动换行 - wrap
  • <kbd>g</kbd> <kbd>j</kbd>、<kbd>g</kbd> <kbd>k</kbd> 可以逐行上下移动
  • 可以控制切换行的控制键 whichwrap
  • 这就是横向移动的内容
  • 不过程序中一般一行不会超过80个字符
  • 纵向移动更为普遍
  • 纵向移动有什么好玩的吗?????
  • 我们先下载个长点的文档
  • 然后用无模式的方式打开他
  • vi -u NONE tomsawyer.txt

边缘移动

  • 首先设置非兼容 :set nocompatible
  • 然后设置显示行号 :se nu
  • <kbd>2</kbd> <kbd>3</kbd> <kbd>G</kbd> 到 23 行
  • <kbd>j</kbd> 再向下的时候
  • 屏幕发生滚动,光标位置如图

上下留边

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

留边细节

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

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

上下翻页

  • scroll.txt 可以找到 :h CTRL-F
    • 使用 <kbd>ctrl</kbd> + <kbd>f</kbd> 可以向下走
    • f 的含义是 forward 向下走
    • 同理b 的含义是 backward 向上走
    • <kbd>ctrl</kbd> + <kbd>b</kbd> 可以向上走
  • 在翻页之前加上数字 [count] 可以实现一次翻 10 页
    • 如<kbd>1</kbd> <kbd>0</kbd> <kbd>ctrl</kbd> + <kbd>f</kbd>
    • 或<kbd>1</kbd> <kbd>0</kbd> <kbd>ctrl</kbd> + <kbd>b</kbd>
    • 注意观察cmd的位置

向上 N 行

  • 我们可以用 <kbd>ctrl</kbd> + <kbd>e</kbd> 向下 1 行
  • <kbd>ctrl</kbd> + <kbd>e</kbd> 和 <kbd>j</kbd> 的不同是
    • <kbd>ctrl</kbd> + <kbd>e</kbd> 光标所在文件位置不变,整个屏幕向上,除非到了边缘,光标位置才改变
    • <kbd>j</kbd> 是屏幕整个位置不变,光标位置向下,除非到了边缘,屏幕位置才改变

  • 同理可以<kbd>ctrl</kbd> + <kbd>y</kbd> 屏幕向下移动
  • 他们都可以使用 [count] 来翻倍

翻过半屏

  • <kbd>ctrl</kbd> + <kbd>d</kbd> 可以向下走 翻半屏 d 代表 Down
  • <kbd>ctrl</kbd> + <kbd>u</kbd> 可以向上走 翻半屏 u 代表 Up
  • 默认翻的是半屏,但是也可以通过 scroll 来设置
  • :set scroll=5 来明确翻的行数
  • 翻页的时候,光标在屏幕的相对位置不变,屏幕整体向上或向下移动

总结

  • 这次我们主要讲的翻页
  • :set scrolloff=2 控制留天留地
  • 上下翻页(这个最常用)
    • <kbd>ctrl</kbd> + <kbd>f</kbd> 屏幕向上走一屏
    • <kbd>ctrl</kbd> + <kbd>b</kbd> 屏幕向下走一屏
  • 上下移屏一行
    • <kbd>ctrl</kbd> + <kbd>e</kbd> 屏幕向上走一行
    • <kbd>ctrl</kbd> + <kbd>y</kbd> 屏幕向下走一行
  • 上下移屏一段
    • <kbd>ctrl</kbd> + <kbd>u</kbd> 向上走半屏
    • <kbd>ctrl</kbd> + <kbd>d</kbd> 向下走半屏
    • 移动数量和 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

以上是关于oeasy教您玩转vim - 29 - # 垂直翻页的主要内容,如果未能解决你的问题,请参考以下文章

oeasy教您玩转vim - 51 - # 读写文件

oeasy教您玩转vim - 52 - # 正则查找

oeasy教您玩转vim - 54 - # 匹配替换

oeasy教您玩转vim - 55 - # 参数替换

oeasy教您玩转vim - 50 - # 命令行效率

oeasy教您玩转vim - 53 - # 批量替换