【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
// 播放宏
....
相关推荐
nnsix4 分钟前
Unity HybirdCLR 简单了解 笔记
笔记
MartinYeung528 分钟前
[论文学习]基于梯度迭代上下文优化的 LLM 隐私越狱攻击框架
学习·区块链
handler011 小时前
【算法】并查集(普通/扩展/带权)模板与例题
数据结构·c++·笔记·算法·c·图论·查并集
MartinYeung51 小时前
[论文学习]大型语言模型中 PII 洩漏的系统性调查
学习
中屹指纹浏览器2 小时前
指纹浏览器环境克隆、批量派生的风控隐患剖析与标准化新建环境实操指南
经验分享·笔记
.千余2 小时前
【C++】C++手写Vector容器:从底层源码模拟实现
开发语言·c++·经验分享·笔记·学习
元直数字电路验证2 小时前
云计算实验笔记(四):容器编排(Container Orchestration)
运维·笔记·docker·云计算
nashane3 小时前
HarmonyOS 6学习:句柄泄漏(Fd Leak)从“崩溃现场”到“代码行”的精准狙击指南
学习·华为·音视频·harmonyos
自小吃多3 小时前
某志步进电机驱动器故障排查标准流程
笔记
zhangrelay3 小时前
后智能时代智能体推演预测娱乐文-节选-
笔记·学习·娱乐