oeasy教您玩转vim - 41 - # 各寄存器
各寄存器
回忆上节课内容
上次是复制粘贴
- y就是把东西
yank到寄存器里,就是复制 - d就是把东西
delete到寄存器里,就是剪切 yank也可以配合motion
- y就是把东西
不管是
yank、delete都是把东西放到默认寄存器- 默认的是
""` - 除了默认的之外
- 还有什么可玩的寄存器?
- 我们可以查一下手册
: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 - # 各寄存器的更多相关文章
- oeasy教您玩转vim - 56 - # 字符可视化模式
可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...
- oeasy教您玩转vim - 57 - # 行可视化
可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...
- oeasy教您玩转vim - 53 - # 批量替换
查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...
- oeasy教您玩转linux010203显示logo
我们来回顾一下 上一部分我们都讲了什么?
- oeasy 教您玩转linux010101查看内核uname
linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...
- oeasy教您玩转linux010202软件包管理apt
顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010201持续输出yes
我们来回顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010108到底哪个which
到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?
- oeasy教您玩转python - 006 - # hello world
Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...
- oeasy教您玩转linux-010110内容回顾
我们来回顾一下 我们都讲了什么?
随机推荐
- 我开源的H5商城2.0版本发布,强烈推荐
简介 waynboot-mall 是一套全部开源的 H5 商城项目,包含运营后台.H5 商城前台和后端接口三个项目 .实现了一套完整的商城业务,有首页展示.商品分类.商品详情.sku 详情.商品搜索. ...
- Docker 必知必会4----容器之间的通信
前面几篇文章,我们基本聊了docker的基本概念,以及基本的操作手段: https://www.cnblogs.com/jilodream/p/18177695 初识dockerhttps://w ...
- VSCode + JTAG调试合宙ESP32C3的经历
VSCode + JTAG调试合宙ESP32C3 环境 Windows10 VSCode + ESP-IDF 合宙ESP32C3(无串口芯片版本) 理论 想要直接使用内置JTAG,USB要求连接GPI ...
- uni-app前端图表组件库,折线图横屏android失败的解决办法
网址:https://www.ucharts.cn/v2/#/demo/index,需要登录,微信就可以 我在使用折现图时,业务需要把曲线图在点击全屏时横屏全屏显示.就做个全屏页面,点击后,把opti ...
- 【C#】安装服务相关
判断C#写的服务版本:一般就是v2.0.50727和v4.0.30319这两个 Assembly currentAssembly = Assembly.LoadFile(filePath); var ...
- CSS操作——列表属性
CSS中提供了一些列表属性可以用来: (1).设置不同的列表项标记为有序列表 (2).设置不同的列表项标记为无序列表 (3).设置列表项标记为图像 list-style-type(系统提供 ...
- Django——messages消息框架
在网页应用中,我们经常需要在处理完表单或其它类型的用户输入后,显示一个通知信息给用户.对于这个需求,Django提供了基于Cookie或者会话的消息框架messages,无论是匿名用户还是认证的用户. ...
- Java遍历Map集合的方法
Java中遍历Map集合的常用方式主要有以下几种: 1.使用keySet()方法遍历 遍历Map的key集合,然后通过key获取value. Map<String, Integer> ma ...
- win11启动虚拟机出现蓝屏
win11虚拟机启动出现蓝屏 问题 我的电脑是win11系统,最近在安装vmware后装了centos7.6,发现一启动centos,电脑就出现蓝屏,如图 解决 这个问题搞了好久,最终发现是win11 ...
- .NET开源、跨平台、使用简单的面部识别库
前言 今天给大家分享一个.NET开源(MIT License).免费.跨平台(适用于 Windows.MacOS 和 Linux ).使用简单的面部识别库:FaceRecognitionDotNet. ...