宏 macro 回忆
- 这次我们了解了编码格式
- 屏幕显示的encoding
- 文件保存的fileencoding
- 不能搞乱了
- 一般用什么编的就用什么解
- 解铃还须系铃人
- 打开不正确的话,就要切到正确的上面
- 保存成任何自己想要的编码方式
- vim还有什么能帮助我们快速操作的方法么?
vi oeasy.c
- 输入以下内容
文章图片
录制宏macro
qa
- 录制叫做
a
的宏
- 录制叫做
文章图片
- 这个记录中 @a 就录制进了vim的宏库
- 可以随时调用录制完成的宏
- 比如
- I#include "
- 在本行前面插入内容
- q
- 结束录制
- 划重点
- qa 开始录制宏
- q 结束录制宏
- 录制了宏之后怎么应用呢?
- @a
- 在本行应用这个宏
- 2@a
- 应用这个macro宏a两次
- uuuu
- 撤销4次
- 【oeasy教您玩转vim - 80 - # 宏macro】4@a
- 应用这个marcro宏a4次
- 划重点
- qa 开始录制宏
- q 结束录制宏
- @a 应用宏
- 我们做一个复杂点的
- I#inclcude "^[A"^[j
- I#include " 在行头插入引用头
^[
就是esc 从插入模式到正常模式- A" 在结尾处插入引号
^[
就是esc 从插入模式到正常模式- j跳转到下一行
- 然后来两行.h的库
文章图片
2@a
- 执行两次a宏
- 执行结果如下
文章图片
- 我可以看看宏长什么样子么?
:reg
文章图片
- "a寄存器里面就是macro宏a的内容
^[
就是esc
- 不过好像这里面可以进行修改
- 到最底下找一个空地
- "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...)
推荐阅读
- oeasy教您玩转vim - 89 - # 高亮细节Highlight
- oeasy教您玩转vim - 88 - # 自动命令autocmd
- oeasy教您玩转vim - 87 - # 内容查找grep命令
- oeasy教您玩转vim - 85 - # 全局命令
- oeasy教您玩转vim - 84 - # 命令command
- vim 命令整理(从FreePlane的mm格式导出)
- oeasy教您玩转vim - 82 - # 函数function
- oeasy教您玩转vim - 81 - # 宏macro的进阶
- oeasy教您玩转vim - 79 - # 编码格式encoding