使用标记

回忆上节课内容

  • 有了这个rangeaddress我们可以做很多事情

    • 跳转:44
  • 复制和剪切

    • 1,3d
    • 3,$y
    • %d o
  • 配合搜索

    • /oeasy/,$y
    • 5;/oeasy/d
  • 其实还有一种address

    • mark 标记
  • 还记得 mark标记 是什么意思?

查看手册

  • :h mark 可以查看相应的细节

  • 我们可以使用m来定义一个标记
  • 比如我们在第 3 行 ma
  • 我们就在 第 3 行 标记了一个 mark 叫做 a
  • 这个标记能看见么?

查看标记

  • 我们用:marks

    • 就可以看到里面有了一个新mark
    • 名字叫做a
  • 注意这个a包括

    • 行、列坐标
    • 还有具体文本

查看具体标记

  • :marks abc

    • 查看具体abc这三个mark

跳转到引用

  • ma

    • 定义了一个名字叫 amark
  • 'a

    • 可以将光标从任意位置跳转到 标记a
  • 注意

    • 单引号是跳转到标记
    • 寄存器是放在后面的
  • 这个也可以配合行命令来操作

  • 'ay 就是把a标记那行,放入默认寄存器
  • 可以用:reg查看
  • 'a,'b就是把从a标记那行,到b标记那行

    • 'a,'b 相当于 3,5 是 {range}
  • 如果我想使用标记
  • 也想使用寄存器怎么办?

单双引号

  • :'a,'by o

    • 'a,'b 是 {range}
    • y 是 yank复制
    • o 是制定的寄存器

  • 如下是寄存器情况

  • ^J 是换行的标记

操控marks

  • marks不可见,但是可以存储文件信息
  • 小写字母ma

    • 用于当前文件 内部
  • 大写字母mA

    • 可以 跨文件 定义 marks
  • 0-9 的数字标记

    • 可以预先放到~/.viminfo的配置文件中
  • 可以查看指定的标记:marks a
  • 也可以删除标记

    • :delm(arks) a
    • 甚至清空所有标记,:delm(arks)!

常用标记

  • '[ 上一次修改或复制的第一行或第一个字符
  • '] 上一次修改或复制的最后一行或最后一个字符
  • '< 上一次在可视模式下选取的第一行或第一个字符
  • '> 上一次在可视模式下选取的最后一行或最后一个字符
  • '' 上一次跳转之前的光标位置
  • '" 上一次关闭当前缓冲区时的光标位置
  • '^ 上一次插入字符后的光标位置
  • '. 上一次修改文本后的光标位置
  • '( 当前句子的开头
  • ') 当前句子的结尾
  • '{ 当前段落的开头
  • '} 当前段落的结尾

总结

  • 我们这次研究了mark的定义和使用

    • mb定义
    • 'b跳转
    • 可以对marks查询
    • :delm(arks)! 删除
  • 三种marks

    • 小写 本文件内
    • 大写 跨文件
    • 数字 配置文件中
  • 可以在命令行中,使用标记

    • 'a,'by从标记a的行复制到标记b的行
    • 'a,'bt.把从a到b的行复制到当前位置
    • 'a,'bmG把从a到b的行移动到文档最后
  • 命令行模式可真是太方便了!
  • 可是,你知道吗?

    • 命令行模式来自于ed
    • 本是当时的无奈之举?
  • 怎么回事?
  • 下次再说

[Github地址] (GitHub - overmind1980/oeasyvim: 这是oeasy制作的的一套关于vim的教程 可以在 https://www.lanqiao.cn/teacher/courses/2840 做实验 邀请码FJWYIMGB 本教程从0基础开始,到精通vim配置,和高级命令。希望能让vim是你的开发更高效。)

[Gitee地址] (overmind1980/oeasyvim)

[蓝桥实验楼 邀请码FJWYIMGB] (oeasy 教您零基础玩转编辑神器 Vim_Linux - 蓝桥云课)

oeasy教您玩转vim - 47 - # 使用标记的更多相关文章

  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 教您玩转linux010101查看内核uname

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

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

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

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

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

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

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

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

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

  10. oeasy教您玩转linux-010110内容回顾

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

随机推荐

  1. Linux搭建ES集群环境

    搭建ES集群环境 准备 三台服务器 其中一台为主机节点 ES安装自行上传到各个节点home路径下并解压重命名 集群名称:cluster-big-data同一个集群多个节点,集群名称必须相同,节点名称不 ...

  2. 大数据Hadoop集群的扩容及缩容(动态添加删除节点)

    添加白名单和黑名单 白名单,表示在白名单的主机IP地址可以用来存储数据 企业中:配置白名单,可以尽量防止黑客恶意访问攻击. 配置白名单步骤如下:原文:sw-code 1)在NameNode节点的/op ...

  3. 🔥 FolkMQ v1.5.1 发布(“新式” 国产消息中间件)

    FolkMQ 是个"新式"的消息中间件.强调:"小而巧"."简而强". 功能简表 角色 功能 生产者(客户端) 发布普通消息.Qos0消息. ...

  4. c++ Primer Plus 第六版学习记录

    立个flag,一天看20页,一个半月看完!!! 第一章 预备知识 高效简洁.面向对象.泛型编程 汇编不具有通用性,换一个处理器可能就要重新写一套! 编译器(是一个程序)负责解决这个问题,把一份高级语言 ...

  5. React脚手架 创建React项目

    React团队主要推荐使用create-react-app来创建React新的单页应用项目的最佳方式. React脚手架(create-react-app)意义 脚手架是官方提供,零配置,无需手动配置 ...

  6. 图形库使用 Direct3d

    1 里面的数学 矩阵是三角函数组合出来的 旋转的时候 xy 两个变量距离变 第三轴被影响角度 2视锥 远近四棱锥双剪切平面 3 三维点 A点 B点 C点 确定三位坐标 ,初始坐标是坐标中中心值 x,y ...

  7. sql的删除语句

    好久没用过sql的删除语句了,今天写删除语句的时候报错了,应该是:   DELETE FROM 表名称 WHERE 列名称 = 值 我写成了: DELETE FROM 表名称 别名 WHERE 别名. ...

  8. MESI--CPU缓存一致性协议

    概念 MESI(Modified Exclusive Shared Or Invalid)(也称为伊利诺斯协议,是因为该协议由伊利诺斯州立大学提出)是一种广泛使用的支持写回策略的缓存一致性协议. ME ...

  9. kafka事务流程

    流程 kafka事务使用的5个API // 1. 初始化事务 void initTransactions(); // 2. 开启事务 void beginTransaction() throws Pr ...

  10. DHorse的配置文件

    首先看一下DHorse的配置文件,如下: #============================================================================== ...