简介
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)完成批量操作的详细内容,更多请关注亿速云其它相关文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。