【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
// 播放宏
....
相关推荐
Aliex_git2 小时前
前端监控笔记(二)
前端·笔记·学习
圣光SG2 小时前
面向对象编程(OOP)通用跨语言笔记
开发语言·笔记·oop
red_redemption2 小时前
自由学习记录(153)
学习
Shepherdppz2 小时前
【避坑指南】超级笔记 Supernote 私有云部署完整指南:从零到一在群晖Synology NAS上搭建私人同步服务器
运维·服务器·笔记
Jerry.张蒙2 小时前
大语言模型(LLM)的核心逻辑理解
大数据·人工智能·学习·语言模型·自然语言处理·区块链
猹叉叉(学习版)2 小时前
【系统分析师_知识点整理】 13.软件实现与测试
软件测试·笔记·软考·系统分析师
小陈phd2 小时前
多模态大模型学习笔记(二十九)—— 生成对抗网络(GAN)从原理到实战:实现第一个生成模型
笔记·学习·生成对抗网络
Heartache boy2 小时前
野火STM32_HAL库版课程笔记-TB6612FNG驱动有刷电机
笔记·stm32·单片机
iiiiii112 小时前
【理论推导】指数族分布的核心性质:对数配分函数的梯度为什么是充分统计量的期望?
人工智能·笔记·深度学习·数学·机器学习·概率论·指数族分布