乐趣区

关于vim:oeasy教您玩转vim-80-宏macro

宏 macro

回顾

  • 这次咱们理解了编码格局

    • 屏幕显示的 encoding
    • 文件保留的 fileencoding
  • 不能搞乱了
  • 个别用什么编的就用什么解
  • 解铃还须系铃人
  • 关上不正确的话,就要切到正确的下面
  • 保留成任何本人想要的编码方式
  • vim 还有什么能帮忙咱们疾速操作的办法么?🤔

建设环境

  • vi oeasy.c
  • 输出以下内容

录制宏 macro

  • qa

    • 录制叫做 a 的宏

  • 这个记录中 @a 就录制进了 vim 的宏库
  • 能够随时调用录制实现的宏
  • 比方
  • I#include “<esc>

    • 在本行后面插入内容
  • q

    • 完结录制
  • 划重点

    • qa 开始录制宏
    • q 完结录制宏
  • 录制了宏之后怎么利用呢?

利用宏 macro @

  • @a

    • 在本行利用这个宏
  • 2@a

    • 利用这个 macro 宏 a 两次
  • uuuu

    • 撤销 4 次
  • 4@a

    • 利用这个 marcro 宏 a4 次
  • 划重点

    • qa 开始录制宏
    • q 完结录制宏
    • @a 利用宏
  • 咱们做一个简单点的

简单的宏

  • I#inclcude “^[A”^[j

    • I#include ” 在行头插入援用头
    • ^[就是esc 从插入模式到失常模式
    • A” 在结尾处插入引号
    • ^[就是esc 从插入模式到失常模式
    • j 跳转到下一行
  • 而后来两行.h 的库

  • 2@a
  • 执行两次 a 宏
  • 执行后果如下

  • 我能够看看宏长什么样子么?

查看宏 macro

  • :reg

  • “a 寄存器外面就是 macro 宏 a 的内容

    • ^[就是esc
  • 不过如同这外面能够进行批改

批改宏 macro

  • 到最底下找一个空地
  • “ap 把 a 寄存器外面的货色粘贴进去
  • 进行批改

  • "byy

    • 再把本行复制到 b 寄存器
  • 一路 u 撤销到一个适合的地位
  • @b

    • 执行宏 b 一次
    • 如同依然是好使的
  • 3@b

    • 执行 b 宏 3 次

宏的间接赋值

  • :let @z = @a
  • 这样就能够间接把 a 寄存器外面的货色间接给 z 寄存器
  • 也就相当于宏的赋值
  • :reg也能够看到宏 z 赋值之后的状态

追加寄存器

  • qA

    • 追加录制 a 宏
  • kA//this is lib.^[jq

    • k 向上一行
    • A 在本行尾部追加
    • //this is lib 写下正文
    • ^[退出插入模式
    • j 向下一行
    • q 完结录制
  • 追加的内容会追加到 a 宏外面

优化宏

  • 这里有个 jk 先向下再向上

  • 能够先粘贴进去而后批改
  • 最初再复制到 a 寄存器

    • “ayy
  • 相当于优化了宏

总结

  • 对于宏,这次有 4 个要点

    • qa 开始录制宏
    • q 完结录制宏
    • @a 利用宏
    • qA 追加录制宏
  • 甚至能够编辑宏

    • “ap 把宏作为文本粘贴进去
    • 编辑之后
    • “ayy 把新的宏装在进入 a 寄存器 reg
  • 这个宏还能够怎么玩呢?🤔
  • 下次再说!
    [Github 地址] (https://github.com/overmind19…)
    [Gitee 地址] (https://gitee.com/overmind198…)
    [蓝桥实验楼 邀请码 FJWYIMGB] (https://www.lanqiao.cn/course…)
退出移动版