行是知之始,知是行之成。这篇文章主要讲述oeasy教您玩转vim - 41 - # 各寄存器相关的知识,希望能为你提供帮助。
show: step
version: 1.0
enable_checker: true
各寄存器
回忆上节课内容????
- 上次是复制粘贴
- <
kbd>
y<
/kbd>
就是把东西
yank
到寄存器里,就是复制 - <
kbd>
d<
/kbd>
就是把东西
delete
到寄存器里,就是剪切 yank
也可以配合motion
- <
kbd>
y<
/kbd>
就是把东西
- 不管是
yank
、delete
都是把东西放到默认寄存器- 默认的是`" " ``
- 除了默认的之外
- 还有什么可玩的寄存器?????
- 我们可以查一下手册
:h reg(ister)
文章图片
寄存器
- 我们平时用的都是无名寄存器,其实有很多种寄存器的
- 无名寄存器
""
- 数字寄存器
"0-"9
- 行内删除专用寄存器
"-
- 指定寄存器
"a-"z
、"A-"Z
- 3个只读寄存器
":
、".
、"%
- 轮换文件寄存器
"#
- 表达式寄存器
"=
- 选择和拖拽寄存器
"*
、"+
、"~
- 黑洞寄存器
"-
- 搜索模式寄存器
"/
- 无名寄存器
""
- 我们最熟悉的默认寄存器
- < kbd> d< /kbd> 、< kbd> x< /kbd> 删除内容默认寄存器
- < kbd> y< /kbd> 复制内容默认寄存器
- < kbd> p< /kbd> 粘贴也是从默认寄存器里面找内容粘贴
- 不声明的话都用这个默认寄存器
- 可以通过
:reg "
查看默认寄存器 - 一般我们都先切换到正常模式
- 然后再粘贴
- 可以在插入模式下粘贴么
- 插入模式下按< kbd> ctrl< /kbd> +< kbd> r< /kbd>
- 状态栏cmd区域会出现
^R
- 然后按下默认寄存器对应的
"
就可以了
文章图片
数字寄存器
"0-"9
"0
中存储的是最近yank
的内容"1-"9
中存储的是最近删除的内容- 最新的放在
"1
- 然后一次往后顺
- 除非用了制定寄存器
"x
- 默认都在这里存一份
- 最新的放在
- 可以一边删除
- 一边
:reg
观察
文章图片
行内删除专用寄存器
"-
- 如果删除的内容在
1
行以内- 也就是说不包含
^J
- 那么删除的东西就放在
"-
- 也就是说不包含
- 除非用了制定寄存器
"x
- 可以动手试一试!
文章图片
指定寄存器
"a-"z
、"A-"Z
- 平常的< kbd> x< /kbd> 都是不指定寄存器的
- 但是如果是<
kbd>
"
<
/kbd>
<
kbd>
a<
/kbd>
<
kbd>
x<
/kbd>
就是指定
寄存器a
的了- 删除的东西会放在
"a
这个寄存器中 - < kbd> d< /kbd> 、< kbd> y< /kbd> 等命令也一样
- 默认是操作
""
寄存器 - 指定了别的寄存器就用指定好的寄存器
- 删除的东西会放在
- 这样我们就有了
26
个可用的寄存器 - 如果我们使用
"A
- 就会把原来
"a
里的内容和新进入剪贴板的东西拼合在一起 - 就是追加写入
a 寄存器
- 我们也可以用<
kbd>
"
<
/kbd>
<
kbd>
a<
/kbd>
<
kbd>
p<
/kbd>
把指定好的寄存器里面的东西
put
出来 - 具体可以去试一试
- 观察
showcmd
的具体效果
":
、".
、"%
- 这三个寄存器都是只读的
".
里面存储着上次插入的内容"%
里面存储着当前文件的名字":
里面存储着刚刚执行的命令
- 可以
\':reg
看一下 - 也可以< kbd> " < /kbd> < kbd> %< /kbd> < kbd> p< /kbd> 粘贴出来
文章图片
轮换文件寄存器
"#
- 这个涉及到轮换文件
"#
- 就得打开多个文件
- 比较复杂
- 先跳过去
"=
、- 这个可以计算比如
"=3+3
- 注意左下角小地图
- 然后摁下< kbd> p< /kbd>
- 就会把6粘贴出来
"*
、"+
、"~
- 这个特别实用!!!
- 要牢记!!!
- 是从系统的剪切版里面粘贴
- 比如
"*p
就是从系统剪切板进行粘贴 "*yy
就是把本行粘贴到系统剪贴板上- 插入模式下< kbd> ctrl< /kbd> +< kbd> r< /kbd>
- 然后< kbd> *< /kbd>
- 就可以直接把剪切板内容放进来
"-
- 这是一个黑洞
- 放进去的东西哪里也不存
- 就消失了
"/
- 这个对应着上次的用< kbd> /< /kbd> 进行搜索的内容
- 如果想查看更多搜索命令就
:history /
文章图片
重温插入模式
- 我们在插入模式下
- 按下< kbd> ctrl< /kbd> +< kbd> r< /kbd>
- 然后按下寄存器的名字
- 比如默认寄存器< kbd> " < /kbd>
- 就可以把默认寄存器里面的东西粘贴过来
- 而且还保持在插入模式
:h i_ctrl-r
文章图片
:reg
中的各种寄存器都可以用- 试一下????
- 这次我们了解到了各种寄存器
:reg
- 无名寄存器
""
- 数字寄存器
"0-"9
- 行内删除专用寄存器
"-
- 指定寄存器
"a-"z
、"A-"Z
- 3个只读寄存器
":
、".
、"%
- 轮换文件寄存器
"#
- 表达式寄存器
"=
- 选择和拖拽寄存器
"*
、"+
、"~
- 黑洞寄存器
"-
- 搜索模式寄存器
"/
- 无名寄存器
- 插入模式下< kbd> ctrl< /kbd> +< kbd> r< /kbd> 再加寄存器名称,可以粘贴寄存器中的内容
- < kbd> d< /kbd> 、< kbd> x< /kbd> 、< kbd> y< /kbd> 、< kbd> p< /kbd> 都在在正常模式
- 删除之后能否自动切换进入插入模式呢?????
- 下次再说 ????
[Gitee地址] (https://gitee.com/overmind1980/vimtutorial)
[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)
推荐阅读
- kill -9 进程 杀掉僵死进程
- 部署SFTP
- windows ubuntu uefi dual systemgrub
- fastposter 1.6.0 发布 电商级海报生成器
- 累加和校验算法(CheckSum算法)
- linux之ssh命令
- Linux与Windows文件同步
- CentOS 7.9模拟并结束僵尸进程
- 虚拟机上以 All-in-One 模式安装 KubeSphere