各寄存器

回忆上节课内容

  • 上次是复制粘贴

    • y就是把东西yank到寄存器里,就是复制
    • d就是把东西delete到寄存器里,就是剪切
    • yank也可以配合motion
  • 不管是yankdelete都是把东西放到默认寄存器

    • 默认的是""`
    • 除了默认的之外
    • 还有什么可玩的寄存器?
    • 我们可以查一下手册
    • :h reg(ister)

寄存器

  • 我们平时用的都是无名寄存器,其实有很多种寄存器的

    • 无名寄存器""
    • 数字寄存器"0-"9
    • 行内删除专用寄存器"-
    • 指定寄存器"a-"z"A-"Z
    • 3个只读寄存器":"."%
    • 轮换文件寄存器"#
    • 表达式寄存器"=
    • 选择和拖拽寄存器"*"+"~
    • 黑洞寄存器"-
    • 搜索模式寄存器"/

无名寄存器""

  • 我们最熟悉的默认寄存器

    • d、x 删除内容默认寄存器
    • y 复制内容默认寄存器
    • p粘贴也是从默认寄存器里面找内容粘贴
  • 不声明的话都用这个默认寄存器
  • 可以通过:reg "查看默认寄存器
  • 一般我们都先切换到正常模式
  • 然后再粘贴
  • 可以在插入模式下粘贴么

插入模式

  • 插入模式下按ctrl+r
  • 状态栏cmd区域会出现^R
  • 然后按下默认寄存器对应的"就可以了

数字寄存器"0-"9

  • "0 中存储的是最近yank的内容
  • "1-"9 中存储的是最近删除的内容

    • 最新的放在"1
    • 然后一次往后顺
    • 除非用了制定寄存器"x
    • 默认都在这里存一份
  • 可以一边删除
  • 一边:reg观察

行内删除专用寄存器"-

  • 如果删除的内容在1行以内

    • 也就是说不包含^J
    • 那么删除的东西就放在"-
  • 除非用了制定寄存器"x

    • 可以动手试一试!

指定寄存器"a-"z"A-"Z

  • 平常的x都是不指定寄存器的
  • 但是如果是"ax就是指定 寄存器a 的了

    • 删除的东西会放在"a这个寄存器中
    • d、y等命令也一样
    • 默认是操作""寄存器
    • 指定了别的寄存器就用指定好的寄存器
  • 这样我们就有了26个可用的寄存器
  • 如果我们使用"A
  • 就会把原来"a里的内容和新进入剪贴板的东西拼合在一起
  • 就是追加写入 a 寄存器
  • 我们也可以用"ap把指定好的寄存器里面的东西put出来
  • 具体可以去试一试
  • 观察 showcmd 的具体效果

3个只读寄存器":"."%

  • 这三个寄存器都是只读的

    • ". 里面存储着上次插入的内容
    • "% 里面存储着当前文件的名字
    • ": 里面存储着刚刚执行的命令
  • 可以':reg看一下
  • 也可以"%p粘贴出来

轮换文件寄存器 "#

  • 这个涉及到轮换文件"#
  • 就得打开多个文件
  • 比较复杂
  • 先跳过去

表达式寄存器"=

  • 这个可以计算比如"=3+3
  • 注意左下角小地图
  • 然后摁下p
  • 就会把6粘贴出来

选择和拖拽寄存器"*"+"~

  • 这个特别实用!!!
  • 要牢记!!!
  • 是从系统的剪切版里面粘贴
  • 比如"*p就是从系统剪切板进行粘贴
  • "*yy就是把本行粘贴到系统剪贴板上
  • 插入模式下ctrl+r
  • 然后*
  • 就可以直接把剪切板内容放进来

黑洞寄存器"-

  • 这是一个黑洞
  • 放进去的东西哪里也不存
  • 就消失了

搜索模式寄存器"/

  • 这个对应着上次的用/进行搜索的内容
  • 如果想查看更多搜索命令就
  • :history /

重温插入模式

  • 我们在插入模式下

    • 按下ctrl+r
    • 然后按下寄存器的名字
    • 比如默认寄存器"
    • 就可以把默认寄存器里面的东西粘贴过来
    • 而且还保持在插入模式
  • :h i_ctrl-r

  • :reg 中的各种寄存器都可以用
  • 试一下

总结

  • 这次我们了解到了各种寄存器
  • :reg

    • 无名寄存器""
    • 数字寄存器"0-"9
    • 行内删除专用寄存器"-
    • 指定寄存器"a-"z"A-"Z
    • 3个只读寄存器":"."%
    • 轮换文件寄存器"#
    • 表达式寄存器"=
    • 选择和拖拽寄存器"*"+"~
    • 黑洞寄存器"-
    • 搜索模式寄存器"/
  • 插入模式下ctrl+r 再加寄存器名称,可以粘贴寄存器中的内容
  • d、x、y、p都在在正常模式
  • 删除之后能否自动切换进入插入模式呢?
  • 下次再说

[Github地址] (https://github.com/overmind1980/vimtutorial)

[Gitee地址] (https://gitee.com/overmind1980/vimtutorial)

[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)

oeasy教您玩转vim - 41 - # 各寄存器的更多相关文章

  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. Java 中的深拷贝和浅拷贝你了解吗?

    前言 Java 开发中,对象拷贝是常有的事,很多人可能搞不清到底是拷贝了引用还是拷贝了对象.本文将详细介绍相关知识,让你充分理解 Java 拷贝. 一.对象是如何存储的? 方法执行过程中,方法体中的数 ...

  2. 文件系统(五):exFAT 文件系统原理详解

    前言 exFAT是微软2006年推出的一种文件系统,距今已快二十年,相比于FAT16和FAT32,exFAT还是算年轻.exFAT一直是微软的一个专用文件系统,直到2019年微软发布它的规范,目前微软 ...

  3. 资源编排ROS之模块:实现模板代码复用(进阶篇)

    背景 资源编排服务(Resource Orchestration Service, 简称ROS)是阿里云提供的一项简化云计算资源管理的服务.您可以遵循ROS定义的模板规范编写资源栈模板,在模板中定义所 ...

  4. kubernetes自动扩缩容[HPA控制器 horizontal pod autoscaler]

    kubernetes自动扩缩容[HPA控制器 horizontal pod autoscaler] #查看当前hpa控制器版本: [root@k8s-master01 ~]# kubectl get ...

  5. uniapp 添加操作

    1 分析: 2 需要动态的向数据库中插入数据,既然要进行添加操作,就会触发一个点击的事件,所以我们的第一步就是要先绑定事件 3 向服务器进行请求接口操作,请求的方法为 'POST' 4 最后就是在me ...

  6. Qt添加资源文件

    参考视频:https://www.bilibili.com/video/BV1XW411x7NU?p=27 以添加图片为例进行说明: 1)点击工程名,选择"添加新文件": 2)选择 ...

  7. C# 配置文件增加自定义节点

    话不多说直接开撸! 首先创建一个Config的文件夹然后新增一个后缀名为.config的文件 配置文件的代码如下: <?xml version="1.0" encoding= ...

  8. jquery的树状菜单

    <body>     <ul>         <li>一级菜单                 <ol>                 <li ...

  9. CF1777E

    problem & blog 反转的边最大权值最小,想到二分. 于是二分代价即可. 反转代价小于二分的代价的边可以反转,所以再建一条反向边即可. 在 DAG 中,存在一个点可以到达所有的点的条 ...

  10. GO语言 GOLANG 上传微信电子小票图片

    GO语言 GOLANG 上传微信电子小票图片.GO HTTP POST 图片文件.GO 上传图片文件.multipart/form-data.image/jpeg.image/png. GO 环境: ...