Vim 重复操作的宏录制

转自:https://www.cnblogs.com/ini_always/archive/2011/09/21/2184446.html

在编辑某个文件的时候,可能会出现需要对某种特定的操作进行许多次的情况,以编辑下面的文件为例:

;=====================================================================================
;This is a sample configuration file when upgrading XXX using InstallShield.
;Author:        ini_always
;Date:          8/24/2011
;Last modified: 9/20/2011
;Note: Install script does NOT verify whether the configuration file is in a "WELL"
;format, a WRONG format may lead to installation failure.
;If more information is needed, please check the document for details.
;=====================================================================================

这是一个ini类型的配置文件,可以看到每一行的最前面有一个逗号,现在如果需要将每行前面的逗号去掉,怎么办?在第一行行首按x,然后按j,然后按x…这样重复下去?确实,我最开始也是这样的,但如果这个文件有100行要这样修改呢?或者1000行?

好吧,少废话,进入正题。所谓宏,在vim里面是指某种特定顺序的一系列操作,我们可以录制自己的操作序列,然后重复这个序列多次,以简化某种重复的操作。vim宏有录制和播放的过程,录制就是你教给vim该怎么操作,播放就是vim照着你教的进行自动操作。因此,对于上面的文件处理,首先要进行宏录制:

  1. 把光标定位在第一行;

  2. 在normal模式下输入qa(当然也可以输入qb, qc, etc,这里的a, b, c是指寄存器名称,vim会把录制好的宏放在这个寄存器中)(PS:如果不知道什么是vim的寄存器,请自行放狗搜之);

  3. 正常情况下,vim的命令行会显示“开始录制”的字样,这时候,把光标定位到第一个字符(按0或者|),再按x删除,按j跳到下一行;

  4. normal模式下输入q,结束宏录制。

好了,经过以上步骤,我们定义了一个存储在寄存器a中的宏,它的操作序列是:0->x->j,也就是跳到行首,删除,跳到下一行。

现在,第一行已经删除了行首的逗号,而且光标也已经在第二行,现在,在normal模式下输入@a,以播放我们刚录制好的存在寄存器a中的宏。于是,第二行行首的逗号也被删除,光标停在了第三行。

这也不简单啊?你肯定会这样想,要删除100行,我还得输入100个@a,我还不如手动删除呢。呵呵,vim早就想到了,输入7@a,好了,剩下的7行全部搞定了。(PS:在命令前面加数字,就是代表要执行这个命令多少次)

当然,这个例子很简单,但也很典型。利用好vim的宏,可以使一些原本很无聊的工作要简单很多。

Vim 重复操作的宏录制相关推荐

  1. Linux vi vim 宏 批量操作 重复操作 宏录制

    转载 https://www.cnblogs.com/ini_always/archive/2011/09/21/2184446.html 在编辑某个文件的时候,可能会出现需要对某种特定的操作进行许多 ...

  2. [转载]VIM的列操作与宏录制

    原文链接:http://edyfox.codecarver.org/html/vim_edit_tips.html 本网页收集了一些简单的 VIM 操作, 这些操作要么其它普通文本编辑器不能完成, 要 ...

  3. NotePad++ 宏录制使用

    需求: 如上图,我有一串16进制的数字,我希望两个数字一换行.如下图: 如果我用手动的话,可能很累.这时候就可以使用notepad++ 的宏录制和运行了. step 1 点击开始录制 step 2 右 ...

  4. excel宏根据表格自动计算机,Excel使用宏录制自动将输入内容排到另一张表的操作方法...

    最近很多朋友咨询关于Excel使用宏录制自动将输入内容排到另一张表的操作方法,今天的这篇教程就来聊一聊这个话题,希望可以帮助到有需要的朋友. Excel使用宏录制自动将输入内容排到另一张表的操作方法 ...

  5. Office - - Excel宏录制批量处理格式相同文件

    文章目录 一.说明 二.实现 2.1 目的 2.1 操作 一.说明   有时候会批量处理一些格式相同的文件调格式之类的操作,人工一个个修改显然不适合我们操作,利用宏可以节省大部分人力还有时间. 二.实 ...

  6. excel 宏录制,宏代码查看

    1.第一步 第二部.查看宏代码 第三步: 使用宏录制的好处可以查看操作代码,便于vsto编程.

  7. sublime 自定义快捷键、宏录制

    有时候我们需要设置自己所需的快捷键,而 sublime 中又没有定义过相关的动作,这时候可以使用 sublime 的宏录制功能实现. 1.使用 shift + enter 快捷键使行末添加分号并且换行 ...

  8. Allegro通过宏录制设置快捷键

    本文通过介绍Allegro的宏录制来生成快捷键,通过举例:使用快捷键来快速只显示板框层进行说明 先打开一个brd文件,要记得路径! 1.选择File->Script 2.输入快捷键生成文件的文件 ...

  9. 巧用宏录制,轻松制作Excel简易查询小系统

    点赞再看,养成习惯:衣莫若新,人莫若故. 微信搜索[亦心Excel]关注这个不一样的自媒体人. 本文 GitHub https://github.com/hugogoos/Excel 已收录,包含Ex ...

最新文章

  1. Centos7 安装 telnet 服务
  2. C++_复合、委托、继承
  3. 双机热备_什么是双机热备?
  4. 【面试】编译器为我们实现了几个类成员函数?(c++)
  5. Java多线程中的死锁问题
  6. 波士顿大学计算机科学的就业,波士顿大学计算机科学(计算机网络)专业介绍_计算机科学(计算机网络)专业排名及就业方向和前景-小站留学...
  7. STL源码剖析—stl_config
  8. 通过PyMySQL连接MySQL
  9. 使用Remoting技术
  10. cuckoo沙箱常见报错总结
  11. C# 反射 设置字段值无效的解决办法
  12. GEETEST极验召集互联网大佬齐聚光谷,共同探讨交互安全问题
  13. 关于 ApacheCN 未来发展的思考 2019.5.20
  14. 安卓手机通话记录路径_一点换机小技巧,轻松迁移旧手机资料到新手机
  15. oracle dblink使用
  16. 使用Proteus 8.9仿真STM32F103流水灯实验
  17. WxErrorException: 错误代码:40163
  18. ARM嵌入式核心板介绍
  19. Python爬取实习僧职位信息
  20. 定义一个形状类(Shape)方法:计算周长,计算面积。子类: 矩形类、圆形类、三角形类...

热门文章

  1. canal本地运行异常:class com.alibaba.druid.pool.DruidDataSource cannot be cast to
  2. 解决linux下创建用户时出现Creating mailbox file: File exists
  3. Spring Cloud Alibaba 雪崩效应和容错解决方案
  4. python os.path.splitext()的用法_Python常用模块之os.path
  5. jq之slidedown()
  6. php语句结束标记,PHP结束标记“?”
  7. python调用百度语音实时转为文字_百度语音转文字 (Python)
  8. mysql 分析服务_MySQL分析服务器状态_MySQL
  9. android fragment中引入自定义view_厉害了,用Android自定义View实现八大行星绕太阳3D旋转效果...
  10. mysql 中文字符排序规则_mysql中字符集和排序规则说明