显示标尺

回忆上节课内容

  • 定义标记 a ma
  • 删除标记 a :delm a
  • 跳转到标记 a 'a

    • `a 跳到 a 对应的行和列
    • 'a 跳到 a 对应的行
  • 查看所有标记 :marks
  • 各种标记类型

    • '' 是上次跳转操作光标所在的位置
    • '" 是上次退出当前文件的位置
    • '[ 是上次编辑(删除修改等)的开始位置
    • '] 是上次编辑(删除修改等)的结束位置
    • 小写 a-z 可以标记本文件内部的位置坐标
    • 大写 A-Z 可以跨文件标记位置坐标
    • 数字 0-9 在配置文件 ~/.viminfo 中,可以保留标记
  • 每次都需要 ctrl + g 显示坐标
  • 能否一直显示坐标呢?

显示当前位置

#首先用无模式让vi编辑一下/etc/passwd
vi -u NONE /etc/passwd
  • ctrl + g
  • 或者 :f[ile]
  • 可以在最下面一行

    • 看到当前编辑的文件
    • 以及文件的位置

显示标尺

  • 想一直显示光标位置的话

    • 就需要一个标尺
    • 标尺 是一个开关option
  • 什么是开关呢?

    • 就是可以设置开或者关的地方
  • 标尺 开关的名称是 ruler 尺子

    • 可以打开标尺
    • 也可以关闭标尺
  • 这个开关如何开合呢?

进行设置

  • ruler 标签可以用 :set 这样的方式进行设置

    • :se[t] ru[ler] 就可以设置标尺可见
    • :se[t] noru[ler] 就可以设置标尺不可见
  • number 标签也可以用 :set 这样的方式进行设置

    • :se[t] nu[mber] 就可以设置行号
    • :se[t] nonu[mber] 就可以设置行号不可见
  • 也可以两个一起开启

    • :se nu ru
  • 或者两个一起关闭

    • :se noru nonu
  • 都是一些蓝布棉门帘

关于开关

  • 开关就是 options

    • 可以设置当前文档是否显示标尺
    • 也可以设置当前文档是否自动换行
    • 开关和我们编辑的文档没有直接关系
    • 但是决定着目前显示的状态
  • 可以使用 :options

    • 打开 options.txt 查看 所有 的开关
    • /ruler 在当前文件中查找 ruler 这个开关

  • 那我怎么知道 ruler 开关当前状态?

查看开关

  • 查看开关状态?
  • 可以通过?来查看开关状态

    • :set number?
    • :set ruler?
  • 可以试试

  • 如果我想把开关复位到初始状态
  • 应该怎么做?

复位开关&

  • 复位开关状态&
  • 直接把开关复位为默认值

    • :set number&
    • :set ruler&

标尺细节

  • :options 可以得到一行的简单解释
  • 如果想要更详细的信息
  • 也可以通过 :h 'ruler' 找到这个选项开关的细节

标尺细节

  • 在右下角可以看到标尺
  • 标尺把光标位置,在 80*24 屏幕 中明确标注
  • 用逗号,分割开 行号列号
  • 行号 的显示开关是 :se nu
  • 列号 就是当前光标所在列的序号

跳转

  • 跳转到行

    • 2 9 G 命令跳转到第29行
    • :33 快速跳转第33行
  • 跳转到列

    • 19 |
    • 用命令跳转到第19列

标尺细节

  • 在标尺的右边写着一些文字

    • 有时在 顶端,文件第 1 行在屏幕顶端
    • 有时在 底端,文件最后 1 行在屏幕底端
    • 有时在 全部,文件很短一屏幕就全显示

显示命令

  • :set showcmd 可以在标尺左边看见所用的命令

    • show 显示
    • cmd 命令
  • 1 9 G 命令跳转行号
  • 一个字符一个字符地按下
  • 观察变化
  • 这样我们就可以看到命令输入的情况

用百分比方式跳转

  • 在行列号后面有个百分比
  • 有时是百分比,比例为光标行号除以文件总行号
  • 可以使用 29 % 跳到整个文件 29% 的位置

设置历史记录数量

  • :set history=100
  • 这样可以通过键盘上下找到曾经执行的命令
  • :h 'history'

总结

  • 我们这次研究了标尺
  • 标尺

    • 开启 se ru
    • 关闭 se noru
  • 行号

    • 开启 se nu
    • 关闭 se nonu
  • 命令位置

    • 开启 se showcmd
    • 关闭 se noshowcmd
  • 跳转

    • 用 29 G 跳转行号
    • 用 19 | 跳转列号
    • 用 29 % 跳到整个文件 29% 的位置
  • 还有什么好玩的么?
  • 下次再说

oeasy教您玩转vim - 20 - 显示标尺的更多相关文章

  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. oeasy教您玩转linux010203显示logo

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

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

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

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

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

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

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

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

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

  9. oeasy教您玩转linux010107那啥在哪 whereis

    回忆上次内容 上次讲了 ls 的参数 (arguement) 和选项 (option) 的设置. 现在我们要制作这样一个列表:

  10. oeasy教你玩转linux010104灵魂之问whatis

    灵魂之问whatis 回忆上节课 我们上次在系统里面乱转

随机推荐

  1. 自研WPF插件系统(沙箱运行及热插拔)

    前言 插件化的需求主要源于对软件架构灵活性的追求,特别是在开发大型.复杂或需要不断更新的软件系统时,插件化可以提高软件系统的可扩展性.可定制性.隔离性.安全性.可维护性.模块化.易于升级和更新以及支持 ...

  2. spring boot 整合mybatis 配置多数据源 数据源切换和多数据源的事务

    因为项目中用到了多数据源 不可避免的会有各种各样的问题列一下最主要的问题: 1 如何配置多数据源???2 spring项目中多数据源无法切换???3 操作了2个或者2个以上数据库的数据无法保证事务的一 ...

  3. vue ali-oss 上传

    vue项目使用阿里云oss上传图片或下载图片 https://www.cnblogs.com/zoo-x/articles/11778010.html#4565291Vue Element UI + ...

  4. windows安装mysql8(5分钟)

    1.下载 MySQL https://dev.mysql.com/downloads/mysql/ 下载完成后,解压缩到你的目录里. 2.配置 MySQL 的配置文件 创建一个文件,名称为:my.in ...

  5. 关于@synchronized

    一.结论 1)@synchronized内部使用的是recursive_mutex_lock,也就是递归锁,对于统一线程来说,@synchronized加锁的方法可以重复加锁. 比如代码: - (vo ...

  6. NOIP模拟67

    前言 从这一次到 71 都是多校联考了,尽管考的不咋样.. T1 数据恢复 解题思路 这个题真的是.. 先声明一个点,对于优先队列以及 set 都是在某个元素插入的时候进行比较,但是在之后如果修改比较 ...

  7. 简单实现Viper配置管理

    本文由 ChatMoney团队出品 简介 前面实现的一个简易suno-api.是使用cookie来获取suno-token发起请求的.当时并没有通过配置的方式来获取cookie,而是直接在代码中写死了 ...

  8. rabbitMq实现系统内的短信发送设计&动态获取BEAN

    rabbitMq实现系统内的短信发送设计&动态获取BEAN 1.短信非系统的重要节点操作,可以在任务完成之后,比如下单成功,发送下单成功的mq消息,短信服务接收到mq消息,动态的判断该短信的c ...

  9. C#开发的NoteNet桌面小贴士 - 开源研究系列文章 - 个人小作品

    十多年前编写过这个NoteNet小应用,不过当时用的是文本的保存方式,而且功能上也相对较多.这次重新编写这个小应用,用上新的技术和功能.现在先把源码发布出来,在另个系列的博文中( C#基于.net f ...

  10. HBCK2修复hbase2的常见场景

    上一文章已经把HBCK2 怎么在小于hbase2.0.3版本的编译与用法介绍了,解决主要场景 查看hbase存在的问题 一.使用hbase hbck命令 hbase hbck命令是对hbase的元数据 ...