【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
// 播放宏
....
相关推荐
行思理8 小时前
go语言学习难度及适合学习的人群
开发语言·学习·golang
楚山之石12 小时前
【Medical Image Analysis】深度学习医学图像合成综述:伪CT、合成MRI与合成PET的架构、性能与临床边界
图像处理·人工智能·学习·mr·mri
Li_RuiQi13 小时前
DAgger方法演进_独立学习笔记
笔记·学习·计算机视觉
SteveSenna16 小时前
aubo学习:realsense手眼标定
学习·机器人·视觉检测
Li_RuiQi18 小时前
DAgger与交互式模仿学习_ACT学习笔记
笔记·学习
Canmag 兴隆磁性18 小时前
回复磁导率 μ_R:永磁体在动态磁路中的关键参数
开发语言·学习·r语言·永磁材料·充磁·磁导率
He BianGu18 小时前
【笔记】C# 中BindingFlags的详细作用
笔记·c#
lengxuenong18 小时前
区间覆盖问题 · 简明学习手册1
java·学习·算法
AI视觉网奇18 小时前
turtle 入门教程笔记
笔记
跨知易知识产权18 小时前
美国专利确权是什么,和专利诉讼有什么不一样?
笔记