行业知识
vim寄存器和宏
2026-11-15 15:32:57
来源:互联网转载
目录
- 1.寄存器
- 1.1.寄存器相关命令
- 2.宏
- 2.1.宏的录制和回放
- 2.1.1.避免宏回放回到开头重做
- 2.1.2.先搜索
- 2.2.宏的编辑
- 2.2.1.特殊字符
- 3.递归的宏
- 4.跨���件运行宏
1.寄存器
寄存器 说明 注释 a-z 手动复制数据 "+寄存器 " 无名寄存器 ""p等效为p 0-9 最后10次删除操作的历史记录 % 存储当前文件名 只读存储器 # 上次打开的文件名 只读存储器 . 最后插入的文本 只读存储器 : 最后执行的命令 只读存储器 * 系统的主粘贴板(Linux中为终端的鼠标选择内容) 不起作用 + 粘贴板选择器(Clipboard selection),用于ctrl+c和ctrl+v 不起作用 1.1.寄存器相关命令
命令 说明 注释 " 访问寄存器 ctrl+r 允许在插入模式或命令行模式下粘贴某个寄存器的内容 :reg[isters] a b 查看寄存器a和b的内容 :reg[isters] 列出所有寄存器的内容 A-Z 附加寄存器内容 2.宏
2.1.宏的录制和回放
命令 说明 注释 qa 进入宏录制模式,后面接寄存器 状态栏显示recording @a q 再次按q录制完成 @a 回放宏 @@ 回放最后一次运行的宏 3@a 多次回放宏 #光标移动到文件开头gg#使用寄存器a进入宏录制模式#之后移动和编辑都会在宏模式下记录起来qa#搜索"animal.act"/animal.act#光标移动到target上4w#将target删除,存储到寄存器b中"bdw#删除后面的,和空格xx#跳转到字符串末尾f'#添加,和空格a,#粘贴寄存器b"bp#录制完成q#回放宏@a
2.1.1.避免宏回放回到开头重做
- 宏执行错误会停下来
- 默认搜索不到光标会回到开头
- 让搜索到末尾产生错误
:set nowrapscan
2.1.2.先搜索
在录制宏之前先搜索,录制宏后,先跳转到需要的位置,经过确认后再运行回放
()@a@@
2.2.宏的编辑
和寄存器操作相同
#查看每个寄存器内容:reg#查看寄存器内容:echo @a#打开一个新缓冲区:new#将寄存器的内容粘贴出来"ap#编辑#复制到原来的寄存器_"ay$
2.2.1.特殊字符
在哪里找到参考
()字符 说明 注释 ^[ ESC键 ^M enter键 3.递归的宏
#1.首先确保宏是空的qaq#2.按照正常方式录制宏#3.在录制过程中调用@a
例子
#1.光标位于'bark'#2.寄存器清空,然后进入宏录制qbqqb#3.将'内容存于寄存器c"cdi'#4.移动到'dog'W#5.dog保存到默认寄存器中di'#6.光标左移一个字符h或b#7.插入bark"cp#8.光标移到行首_#9.默认寄存器插入p#10.将光标移到下一行首j_#11.重新执行宏#但什么也不会发生,因为寄存器是空的@b#12.完成录制q#13.递归回放@b
"cdi'Wdi'h"cp_pj_@b
#对已有的宏附加递归qB@bq
4.跨文件运行宏
:arg **/*.py#参数列表用:normal命令执行正常模式下的命令:argdo execute ":normal @a" | update
上一篇:外部怎么访问服务器access?