【Vim】学习笔记(11) 寄存器

寄存器

引用寄存器

bash 复制代码
"ayiw // 复制选中内容到寄存器a
"ap // 粘贴寄存器a的内容

寄存器类型

bash 复制代码
"" // 默认寄存器
"a - "z // 命名寄存器
"A - "Z // 在对应的命名寄存器上追加内容
"0 // 存储最近一次复制的内容
"1 - "9 // 存储最近9次删除或修改的文本,"1 最新,依次向后推移。
"_ // 黑洞寄存器
"+ // 系统剪贴板寄存器
// 一般我习惯在 .vimrc 中设置set clipboard=unnamed
// 即将vim的默认寄存器和系统剪切板寄存器绑定
"= // 表达式寄存器,一个简易的计算器
"% // 当前文件名
"# // 轮换文件名
". // 上次插入的文本
": // 上次执行的Ex命令
"/ // 上次查找的模式
"- // 小删除寄存器,当删除的内容少于一行(如单个字符)时,存入此寄存器,不覆盖数字寄存器。

寄存器命令

bash 复制代码
:reg[ister] [寄存器] // 查看寄存器内容

给宏追加操作

宏是录制在寄存器的,使用对应寄存的追加方式即可

bash 复制代码
// 先录制一段宏
qr
A;<Esc>
q
// 追加
qR
j
q

编辑宏内容

bash 复制代码
// 先在下一行插入宏内容
:put r
// 修改宏内容后
// 保存宏的内容
"rdd // 这种方式会在宏的多一个^J,大部分情况下这个不影响
// 更精确的做法
0"ry$
dd

使用迭代求值方式给列表编号

bash 复制代码
// 原始内容
tom
jack
rose
// 需要变成
1) tom
2) jack
3) rose
// 录制宏
:let i=1
qq
I<C-r>=i<Enter>) <Esc>
:let i+=1
q
// 播放宏
jVG
:'<,'>norm @q
vim中插件不支持表达式寄存器"=的使用,下面这版可以不使用"=
bash 复制代码
:let i=0 // 初始化变量i
qq // 开启录制
:let i+=1
:let @a=i // 将变量i的值赋值给寄存器a
0"aP // 读取寄存器a内容(即为变量i的值)
i) <Esc> j
q
// 播放宏
....
相关推荐
jiayong231 分钟前
第 41 课:任务详情抽屉里的快速筛选联动
开发语言·前端·javascript·vue.js·学习
浅念-14 分钟前
LeetCode 模拟算法:用「还原过程」搞定编程题的入门钥匙
开发语言·c++·学习·算法·leetcode·职场和发展·模拟
buhuizhiyuci21 分钟前
笑谈vim的快捷方式和简易配置
linux·编辑器·vim
我不是懒洋洋27 分钟前
PyTorch强化学习实战:从零实现DQN玩转CartPole
笔记
艾莉丝努力练剑28 分钟前
【Linux网络】计算机网络入门:网络通信——跨主机的进程间通信(IPC)与Socket编程入门
linux·运维·服务器·网络·c++·学习·计算机网络
三品吉他手会点灯30 分钟前
C语言学习笔记 - 13.C语言简介 - 回顾本讲内容
c语言·笔记·学习
大大杰哥30 分钟前
Spring AI 开发笔记:ChatClient 的创建、配置与工具函数注册
人工智能·笔记·spring
再玩一会儿看代码43 分钟前
idea中快捷键详细总结整理
java·ide·经验分享·笔记·学习·intellij-idea
极光13144 分钟前
DevOps学习
运维·学习·devops
卷心菜狗1 小时前
Python进阶-闭包与装饰器
开发语言·python·学习