Vim|笔记整理(4)——宏录制

宏录制

引言

我们知道.命令对重复小的修改确实有效,但想到重复更大规模的改动时,Vim的宏就派上用场了。

宏很适合对一系列相似的行、段落,甚至文件,进行重复性修改。

在录制命令序列的过程中难免会出错,不过用不着推翻重来,因为可以很方便地在原有宏的结尾附加新的命令。

就像黑白棋游戏一样,学习Vim的宏只需一分钟,但要穷其一生才能精通。

宏的读取与执行

把命令序列录制成宏

在普通模式下按
q + {register} + 一系列命令 + q

  • q键既是录制按钮,也是停止按钮
  • {register}是寄存器,可以是a-z A-Z的任何一个字符

通过执行宏来回放命令序列

可以用@{register}命令执行指定的寄存器内容

  • 例如:
    qa
    一系列命令序列
    q

  • 这个宏只记录了vim命令到寄存器a中,执行这个宏可以用命令:
    @a
    也可以加上执行次数:
    10@a 执行10次
    当你执行过一次@a之后,你可以用@@来重复执行@a

永久宏

  • 录制宏后,你的操作是保存在寄存器里的,如何将宏变成永久宏,我以寄存器r为例
    normal模式下按"rp可以把宏的内容显示出来
    编译宏内容:let @宏值=“指令”
    寄存器中的内容可读性比较低
    <80>kb 表示退格键
    ^[表示ESC键

  • mac的终端可以保存寄存器的内容(关机后仍存在),随意我会专门找个寄存器存编辑markdown格式的代码
    我的代码如下
    在这里插入图片描述
    每次我需要编辑时,只需按下@r,就可以变成我想要的格式

  • vim的宏应该是可以修改的,修改方式:普通模式下输入:let@a="写宏的具体代码"
    这样@a命令就可以使用你制作的宏了
    但是我复制上面代码保存后会出现乱码,暂时不知道原因

生成遗传从1到N的数列

  1. 左上角输入1
  2. record macro(a):q a yy p ctrl+a q
  3. run macro(a):99@a
  4. show macro(a):"ap
    这样生成的是一列,如果要在一行中显示,可以录制动作J这个宏
    在这里插入图片描述
    利用这个功能,配合Downie可以快速下载一个b站专辑的视频
    在这里插入图片描述

批量改格式

需求:把400个白色格式的链接,全部修改为超链接形式,此时用vim宏录制可以非常快速地自动化完成任务

经验:不同的宏可以再录到一个宏里,如a实现功能1,b实现功能2,则可以录制宏c,记录@a和@b,那么可以一次性实现功能1和2
在这里插入图片描述
在这里插入图片描述
阅读更多文章,请看学习笔记汇总

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

捡起一束光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值