小工具知识网

当前位置: 首页 > 行业知识 > vim寄存器和宏

行业知识

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键
              ^Menter键

              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?

下一篇:如何在手机酷狗应用上下载MP3格式的音乐