垂直翻页

回忆上节课内容

  • 我们上次了解了横向滚动的相关信息

    • 横滚幅度 - sidescroll
    • 横滚留位 - sidescrolloff
    • 自动换行 - wrap
  • g j、g k 可以逐行上下移动
  • 可以控制切换行的控制键 whichwrap
  • 这就是横向移动的内容
  • 不过程序中一般一行不会超过80个字符
  • 纵向移动更为普遍
  • 纵向移动有什么好玩的吗?
  • 我们先下载个长点的文档

  • 然后用无模式的方式打开他
  • vi -u NONE tomsawyer.txt

边缘移动

  • 首先设置非兼容 :set nocompatible
  • 然后设置显示行号 :se nu
  • 2 3 G 到 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 页

    • 如1 0 ctrl + f
    • 或1 0 ctrl + 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

oeasy教您玩转vim - 29 - # 垂直翻页的更多相关文章

  1. oeasy教您玩转vim - 56 - # 字符可视化模式

    ​ 可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...

  2. oeasy教您玩转vim - 57 - # 行可视化

    ​ 可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...

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

    查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...

  4. vi / vim 删除以及翻页 其它命令

    vim中翻页的命令 vim中翻页的命令 整页翻页 ctrl-f ctrl-b f就是forword b就是backward 翻半页 ctrl-d ctlr-u d=down u=up 滚一行 ctrl ...

  5. oeasy教您玩转linux010203显示logo

    我们来回顾一下 上一部分我们都讲了什么?

  6. oeasy 教您玩转linux010101查看内核uname

    linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...

  7. oeasy教您玩转linux010202软件包管理apt

    顾一下 上一部分我们都讲了什么?

  8. oeasy教您玩转linux010201持续输出yes

    我们来回顾一下 上一部分我们都讲了什么?

  9. oeasy教您玩转linux010108到底哪个which

    到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?

  10. oeasy教您玩转python - 006 - # hello world

    ​ Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...

随机推荐

  1. PVT:特征金字塔在Vision Transormer的首次应用,又快又好 | ICCV 2021

    论文设计了用于密集预测任务的纯Transformer主干网络PVT,包含渐进收缩的特征金字塔结构和spatial-reduction attention层,能够在有限的计算资源和内存资源下获得高分辨率 ...

  2. 干货 springcloud之 poenFeign的使用

    PoenFeign集成到springcloud项目中 先创建一个springboot项目 这里就不多说了 application.yml文件: server: port: 8082spring: ap ...

  3. wpf 斗地主 单机版 没有机器人出牌算法

    斗地主的游戏流程实现了,剩余的音效和机器人的出牌算法,抓地主算法就用最简单的实现. 主要实现了各种牌组的组合,牌组的大小比较,总共有16种牌组 基础牌组 单张.炸弹.炸弹型飞机带对子.炸弹型飞机什么都 ...

  4. .NET 将多个程序集合并成单一程序集的 4+3 种方法

    将 .NET 程序集与依赖合并到一起的方法有下面四种: 使用 .NET Core 3.0 自带的 PublishSingleFile 属性合并依赖使用 Fody使用 SourceYard 源代码包使用 ...

  5. 算法金 | 再见,支持向量机 SVM!

    大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 今日 170+/10000 一.SVM概述 定义与基本概念 支持向量机(SVM)是一种 ...

  6. 利用QEMU模拟大端序机器

    简介 当前我们安装虚拟机,一般小端机器比较多,有时候想模拟大端机器测试程序,这时就有模拟大端机器的需求. 参考:利用 QEMU USER 模式运行 mips 程序 - sinpo828 - 博客园 ( ...

  7. 使用python批量获取excel的sheet名称

    这个脚本的重用是批量读取excel并获取每个excel的所有sheet名输出到一个文件中. 环境:python 3.7.3 1 # -*- coding:utf-8 -*- 2 3 ''' 4 本代码 ...

  8. tab切换之循环遍历

     <style>         *{             margin: 0;             padding:0;         }         ul,ol,li{ ...

  9. ETL工具-nifi干货系列 第八讲 处理器PutDatabaseRecord 写数据库(详细)

    1.本节通过一个小例子来讲解下处理器PutDatabaseRecord,该处理器的作用是将数据写入数据库. 如下流程通过处理器GenerateFlowFile 生成数据,然后通过处理器JoltTran ...

  10. Scaling Memcache at Facebook

      Memcached 是一种众所周知的.简单的内存缓存解决方案.本文描述了 Facebook 如何利用 memcached 作为构建块来构造和扩展一个分布式键值存储支持世界上最大的社交网络. 1.I ...