如何使用vim中的宏进行批量操作
更新:HHH   时间:2023-1-7


简介

vim中的宏实质就是把一个vim指令集存到了寄存器中,然后在调用寄存器中的指令。

使用宏命令可以重复执行你所记录下的命令。

命令模式下按

q+<register>+一系列命令+q

<register> 指用户自己定义的a-z中的一个寄存器

q+<register> 开始记录命令

q 完成记录,退出记录

例: qa

    vim  命令

    q

这个宏只记录了vim命令到寄存器a中,执行这个宏可以用命令:

@a

也可以加上执行次数:

10@a 执行10次

当你执行过一次@a之后,你可以用@@来重复执行@a

使用宏

宏的使用分为录制以及回放。vim使用q键来开始录制,同时也是一q作为宏的结束按键。

使用q{register}选择需要保持的寄存器,这个寄存器的功能就是把录制的命令保存在其中。

使用@{register}回放寄存器内的命令集合。如想多次播放宏,可以使用数字+@{register},如10@a。

实战

宏的介绍就这么多,现在我们来完成刚开始所说的需求吧。首先,完成批量注释代码的功能。这里,我们先不用宏来完成,而是使用块选择及命令行模式来完成该需求。对于第二个需求,我们才使用宏去完成。

下面是一段代码:

我们选择去将free方法给注释掉。

首先我们来到第70行,在普通模式下按下70G来到70行。按下V进入块选择模式,然后移动光标选择所有的想要注释的行。输入:进入命令行模式,输入normal 0i//,然后按下enter键。

下面,我们再来用宏来完成另一个需求——批量缩进。

可以看到左边空了许多空格,现在我们一起来消除这些没用的空格吧。首先来到第一行,按下qa开始录制宏;按下0w,来到第一个非空格字符串,按下i,然后一直退格,直到所有的空格都删除了;然后按下q键结束录制,至此,宏就已经做好了,接下来就是给剩下的行来播放宏即可。进入块选择模式,将剩下的行全部选择,然后按下:normal @a。

以上就是使用VIM宏(macro)完成批量操作的详细内容,更多请关注天达云其它相关文章!

返回建站服务器教程...