oeasy教您玩转vim - 16 跳到某行

跳到某行

回忆上节课内容

  • 上下行
    • j
    • k
  • 上下行首
    • 到行首非空字符 +
    • 到行首非空字符 -
    • 这些 motion 都可以加上 [count] 来翻倍
  • 首尾行
    • 首行是 g g
    • 尾行是 G
    • g g = G 是全部自动缩进
    • G 好像还有其他用法?
  • 什么用法呢?
  • 先用 无配置vi 打开 oeasy.java

直接跳转到某行

updown
  • 直接跳到某行Goto Line
    • 2 G 跳到第2
    • 3G 跳到第3
    • 4G 跳到第4
    • gg 跳到第1
    • G 跳到最后一行
  • 这个真的很方便
    • 尤其编译报错某行出问题的时候
    • 直接就 Goto 过去了
  • 如果行数多了
    • 怎么才能使到我要去第几行呢?
    • 这就需要显示行号

显示行号

  • :set number 是显示行号
    • :set 是命令,可以设置各种属性
    • number:set 的参数option
    • 是一个负责显示行号的开关属性
  • 我们可以通过 :h :set 来查看各种属性
    • 这些帮助手册都在 options.txt
updown
  • 我们不但可以打开 number 开关
    • :set number 打开 number开关
    • 显示行号
  • 也可以关闭number开关
    • number 前面加上 no 代表关闭该开关
    • :set nonumber 关闭 number,不显示行号
  • 简写
    • :se[t] nu[mber] 可简写为 :se nu
    • :se[t] nonu[mber] 可简写为 se nonu

显示相对行号

  • 我们不但可以显示绝对的行号
  • 也可以显示相对的行号
  • 也在 options.txt 这文件里
  • 这个开关叫做 relativenumber
    • 相对行号
    • :set relativenumber
updown
  • 可以看到当前光标位置对应 0
    • 向上的行号是从当前行行计算的
    • 向下的行号也是从当前行计算的
    • 这样上下运动就会更精确一点
    • 4j 就能知道光标落在下面标 4 的那行
    • 5k 就能知道光标落在上面标 5 的那行
  • 如果我同时设置 se nu 会如何呢?
    • 当前行显示绝对行号,上下部分显示相对行号
  • 相对行号简写
    • set relativenumber 简写为 se rnu
    • set norelativenumber 简写为 se nornu

行命令模式跳转

updown
  • 我们还可以使用行命令的模式跳转
    • :30 跳到第 30
    • :40 跳到第 40
    • :40 跳到第 50
    • :6000000 跳到结尾,如果整篇文字没有 6000000 行的话
  • 如何知道当前文件有多少行呢?
    • 还记得 :f[ile] 吗?
    • 快捷键是 ctrl g

显示位置

updown
  • 我们可以通过ctrl g看到:
    • 文件名
    • 当前行号
    • 总行数
    • 当前位置百分比
    • 当前列位置

总结

  • 跳转到行号
    • 200G
  • 设置行号选项
    • 显示行号 :se nu
    • 显示相对行号 :se rnu
  • 如何用命令行跳转 :100
  • 但是我如何有的时候记不住到底跳到多少行
  • 能否做个标记留个记号呢?
  • 下次再说

你可能感兴趣的:(oeasy教您玩转vim - 16 跳到某行)