美文网首页Linux学习|Gentoo/Arch/FreeBSD程序员
vim 录制宏,自动循环执行组合操作

vim 录制宏,自动循环执行组合操作

作者: 再您獁的见 | 来源:发表于2018-08-27 13:24 被阅读25次

前言

在 vim 中录制宏的意思就是把一段操作录制下来,然后可以重复执行。打个比方,我有一个文本,一共 50000 行,我要在每一行后面加一个英文句号。这个操作如果手动做的话效率非常低。这时候我可以这样,在每一行后面加一个英文句号,然后让 vim 自动重复执行这个操作,这是非常有规律的。

要在一行后面加英文句号的操作有两种主要方法

第一种,在 normal 模式下,执行:

$a.

操作演示:

演示1

第二种,在 normal 模式下,执行:

A.

操作演示:

演示2

宏的详细操作

我们在使用 vim 的时候,有时候一不小心在 normal 模式下按到 q ,然后再按一个键(比如 t)的时候左下角会出现一个 recording @t,这其实就开启了宏录制,你接下来的 vim 内操作全部都会被记录,直到你再次按下 q 的时候,宏就录制完成了,我们暂且称之为:宏存储在 t 寄存器中,你想使用那一段宏的时候,只需要按下 @t 就可以了,如果你要循环 100 次数,就执行 100@t,如果想使用其他的键(比如 abcd)也是可以的。

接下来是操作演示,我这里已经写了一个 50000 行的文本文件,我现在要使用宏在每一行的后面加上一个英文句号:

宏录制完整操作

操作分解:

第一步

vim test

用 vim 打开一个名为 test 的文件,它里面已经有 50000 行内容了

第二步

我在文件的顶部加了一个空行,这样子做是因为我想要循环执行在每一行后面加句号这个动作,那我得一行行衔接下去,所以我把光标一开始定位在那个空行里面,这样我的第一个动作就是要到下一行,这样我就可以循环往下执行了

第三步

qt

打开宏录制,我用的还是 t ,打开录制之后,左下角出现了 recording @t 的字样,说明已经开始录制了。然后我就先到下一行,然后在末尾加了一个句号,最后再次按下 q 键,录制完毕,这样我的宏就做好了,t 寄存器里面保存的操作就是:

下一行 -> 光标定位到行尾 -> 进入 insert 模式 -> 输入句号 -> ESC

翻译成 vim 的操作就是:

j$a.

jA.

第四步

现在就可以调用了,我调用了三次

10@t

100@t

1000@t

我先循环调用 10 次宏,来试一下录制的对不对,发现录制正确之后,再调用了 100 次,也是完全正确的,最后我调用了 1000 次,执行有点慢,cpu 被吃了很多,但还是正确执行了。其实我们可以在宏的录制中给 10 行加句号,这样调用 1000 次会快一点,我这里只是演示而已,就不去折腾了。


我的公众号

名字:曼妮小代码
微信号:MannyCoder
二维码:


曼妮小代码

相关文章

  • vim 录制宏,自动循环执行组合操作

    前言 在 vim 中录制宏的意思就是把一段操作录制下来,然后可以重复执行。打个比方,我有一个文本,一共 50000...

  • 第一课 初识VBA与宏

    1.什么是宏,宏与VBA的关系宏就像录像一样,把所有的操作录制下来,通过“播放键”(执行宏)可以将录制的内容播放出...

  • 使用python执行excel的VBA(宏)

    1、将excel表格的操作流程指定宏名称录制成宏,复杂操作可以录制多个宏,以不同的宏名称保存。 录制宏,在菜单中找...

  • Excel中如何编辑录制的宏代码,一起来了解VBA编辑器!

    在Excel中,我们可以通过录制一个宏并执行它来快速完成一系列的操作,非常自动化地进行,那如果我们对宏里面的某个动...

  • VBA学习笔记

    一、录制宏 1.注意相对引用 2.注意录制前鼠标落脚点 (选中起点-开始录制《执行动作-选落脚点》) 二、循环语句...

  • 【1108】Excel运用宏的自动排序方法及vlookup()函

    参考教程:EXCEL 随内容改变自动排序 1. 录制宏 视图——宏——录制宏TIM截图20171108113035...

  • Vim录制宏及使用

    录制宏 假设待操作的文本文件如下,需要将如下多行文本的行首键入一个tab。 先将光标移动到第一行。 在normal...

  • VBA:录制宏

    “宏”,是指一系列EXCEL能够执行的VBA语句,学写宏先从录制宏开始。以下将要录制的宏非常简单,只是改变单元格颜...

  • vba for excel

    excel的宏功能已经很强大了,但是它有一个缺点。就是只能录制一些顺序执行的代码。对于一些需要根据条件执行或者循环...

  • 把Word变成奴隶,录制宏让它自动工作

    如何录制宏 录制宏就是将所完成的操作翻译为Visual Basic代码的过程。默认情况下,Word将宏存储在Nor...

网友评论

    本文标题:vim 录制宏,自动循环执行组合操作

    本文链接:https://www.haomeiwen.com/subject/ynxaiftx.html