oeasy教您玩转vim - 19 - 使用标记

使用标记 回忆上节课内容

  • 跳转到行号
    • 200G
  • 设置行号选项
    • 显示行号 :se nu
    • 显示相对行号 :se rnu
  • 如何用命令行跳转 :100
  • 但是我如何有的时候记不住到底跳到多少行
  • 能否做个标记留个记号呢?
跳回原地
  • 如果我使用 G 跳转到最终行
  • 然后我想要回到跳转之前的位置
    • 不只是 G 对应的跳转包
    • 还括行跳转、搜索等
  • 那这个跳前位置在哪里呢?
    • 我们可以使用 `` 回到跳转之前的位置
    • ` 位置在键盘 1 前面
    • 这个字符就是我们的反引号
    • 叫做 open single quote chararcter
    • 可以试着玩玩
  • 跳过来再跳过去
  • 反复横跳
  • 但是这个只能在两个位置之间来回来去的跳
oeasy教您玩转vim - 19 - 使用标记
文章图片

  • 我想要跳到更久之前的位置
  • 怎么办呢?
跳转列表
  • 所有曾经的跳转都在跳转列表里面
  • 比如我们从
    • 第一行跳到 33
    • 然后再跳到以 ^The 开头的行
oeasy教您玩转vim - 19 - 使用标记
文章图片

  • 【oeasy教您玩转vim - 19 - 使用标记】CTRL-O 跳转到
    • Older position
    • 上一次
    • 上一次的上一次
  • CTRL-I 跳转到
    • 下一次
    • 下一次的下一次
oeasy教您玩转vim - 19 - 使用标记
文章图片

  • 这里跳转的位置我们使用了 标记 mark
查询帮助 oeasy教您玩转vim - 19 - 使用标记
文章图片

  • 使用 h(elp) m(arks) 查询关于标记的帮助
    • 可以使用 ma 来做一个标记 a
    • 然后可以用 'a 或者 `a 进行跳转
进行定义并进行试验
  • :se nu 设置显示行号
  • 使用 ma 把当前光标的位置做一个标记 a
  • 然后 G 跳转到最终行
  • 这个标记你在文档里面看不见
  • :marks 来查看所有标记
    • 注意这个 mark 都是包含行和列的具体位置的
    • a 对应795行 6列
oeasy教您玩转vim - 19 - 使用标记
文章图片

其他标记
  • ma 是我们自己定义的 a 标记
  • 其他的标记是什么意思呢?
  • 我们可以用 :h '' 来看 '' 的含义
oeasy教您玩转vim - 19 - 使用标记
文章图片

更多标记
  • '' 是上次跳转操作光标所在的位置
  • '" 是上次退出当前文件的位置
  • '[ 是上次编辑(删除修改等)的开始位置
  • '] 是上次编辑(删除修改等)的结束位置
  • '. 是上次编辑(删除修改等)的最后的操作位置
oeasy教您玩转vim - 19 - 使用标记
文章图片

  • 那么,这个大写、小写、数字的标记有什么不同呢?
标记细节
oeasy教您玩转vim - 19 - 使用标记
文章图片

  • 小写 a-z 可以标记本文件内部的位置坐标
  • 大写 A-Z 可以跨文件标记位置坐标
  • 数字 0-9 在配置文件 .viminfo 中,可以保留标记
  • 我们还可以用 :delm(arks) a 来删除 a 标记
总结
  • 定义标记 a ma
  • 删除标记 a :delm a
  • 跳转到标记 a 'a
    • `a 跳到 a 对应的行和列
    • 'a 跳到 a 对应的行
  • 查看所有标记 :marks
  • 各种标记类型
    • '' 是上次跳转操作光标所在的位置
    • '" 是上次退出当前文件的位置
    • '[ 是上次编辑(删除修改等)的开始位置
    • '] 是上次编辑(删除修改等)的结束位置
    • 小写 a-z 可以标记本文件内部的位置坐标
    • 大写 A-Z 可以跨文件标记位置坐标
    • 数字 0-9 在配置文件 ~/.viminfo 中,可以保留标记
  • 每次都需要 ctrl + g 显示坐标
  • 能否一直显示坐标呢?
  • 下次再说

    推荐阅读