宏 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…)