vim重复操作的宏录制

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

;=====================================================================================
;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早就想到了,输入[email protected],好了,剩下的7行全部搞定了。(PS:在命令前面加数字,就是代表要执行这个命令多少次)

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

时间: 2024-11-03 05:30:38

vim重复操作的宏录制的相关文章

在VIM中使用宏macro

宏是一组命令的集合,应用及其广泛,包括MS Office中的word编辑器,excel编辑器和各种文本编辑器,Linux系统中最强大的文本编辑器之一的VIM同样支持宏操作,本节内容简要说明一下宏在VIM中使用,首先看下面几个宏的命令 q* 开始录制宏 q 停止录制宏 @* 执行宏 @@ 重复执行上次的@*命令一次 以上命令均是在VIM的一般模式(Normal)下使用的,其中*代表一个数字和单词字符,正则表达式规则是:[0-9a-zA-Z] :help recording 查看宏帮助 比如在一般模

DELPHI中IDE宏录制小用

用DELPHI的宏可以做一些非常简便的工作, 它是记录键盘的动作,如果我们将一些有规律的动作,用宏来进行操作,就可以达到事半功倍的效果,前提是编写的代码风格比较整洁. 宏是以Ctrl + Shift + R开始, 也以Ctrl + Shift + R结束, 以Ctrl + Shift + P来播放. 开始录制宏后,可以在状态栏看到 'Recording'字样. 以下以Assign为例,来进行举例 如下,我们的类中有一大堆的变量     dno: string[20];     dworker:

Vim求生

[TOC] Vim 是从 vi 发展出来的一个文本编辑器.其代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器. -- 维基百科 很多接触 Vim 的程序员应该都有过这样的经历: 受某大 V 的影响看到了 Vim 的高逼格: 看了某篇学习的文章,自己试了几个命令,在 30 分钟内放弃: 几个月后.几年后又听到有人在鼓吹 Vim 好用: 循环... 忍不了了,花了 2 周时间记各种命令: 算了,我还是滚回我的 sub

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

前言 在 vim 中录制宏的意思就是把一段操作录制下来,然后可以重复执行.打个比方,我有一个文本,一共 50000 行,我要在每一行后面加一个英文句号.这个操作如果手动做的话效率非常低.这时候我可以这样,在每一行后面加一个英文句号,然后让 vim 自动重复执行这个操作,这是非常有规律的. 要在一行后面加英文句号的操作有两种主要方法 第一种,在 normal 模式下,执行: $a. 操作演示: 第二种,在 normal 模式下,执行: A. 操作演示: 宏的详细操作 我们在使用 vim 的时候,有

关于宏的使用和Vim及其插件安装的学习总结

关于宏的使用和Vim及其插件安装的学习总结 宏 什么是宏? 计算机科学里的宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式.解释器或编译器在遇到宏时会自动进行这一模式替换.对于编译语言,宏展开在编译时发生,进行宏展开的工具常被称为宏展开器.宏这一术语也常常被用于许多类似的环境中,它们是源自宏展开的概念,这包括键盘宏和宏语言.绝大多数情况下,"宏"这个词的使用暗示着将小命令或动作转化为一系列指令. 在Linux下宏的使用方法 进入vim编辑文本: 在no

在LibreOffice 中启用录制宏的功能

LibreOffice 提供一些VBA的支持.但是默认情况下,并没有录制宏的功能.这对于习惯了MS Office的童鞋们是一件很不爽的事情. 今天终于找到了打开这个功能的方法(LibreOffice 4.4.2.2): 菜单-> 工具 -> 选项 -> LibreOffice -> 高级里面有启用宏录制功能.如下图 在另外一个网站上,找到了下面的文章,因为版本和我的不一样,不确定低版本LibreOffice是否选项位置有所不同.所以记录在下面. LibreOffice 3.3.0

在 Visio 中录制宏

在“开发工具”选项卡上,单击“录制宏”.(如果您看不到“开发工具”选项卡,请参阅下面的“显示‘开发工具’选项卡”.) 在“宏名”框中,键入宏名称. 在“快捷键”框中,键入与 Ctrl 键一起使用可运行宏的快捷键. 在“宏的存储位置”框中,单击要用来保存宏的文档. 在“说明”框中,键入宏的描述. 单击“确定”开始录制宏. 执行要包含在宏中的操作.在“开发工具”选项卡上,根据需要使用“暂停录制”. 录制宏时,可以使用鼠标单击命令和选项,也可以处理绘图中的形状和对象. 若要停止录制宏,请在“开发工具”

Word 录制宏解决粘贴网络上文字格式错乱

    本文将利用Word中的录制宏来解决 复制粘贴网络上文字格式错乱的问题.     本文宏代码取自 : 知乎 李文超,感谢他的提供. Technorati 标签: Word宏 格式修正     1. 创建Word宏         新建一个word文件,点击 视图 ---> 宏 ---> 录制宏,出现如下的设置框.                 设置完后,点击宏-->结束录制,然后点击查宏,选中编辑框,弹出宏代码编辑页面,将 文章结尾处的宏代码复制到里面去,最终显示结果如下:   

Vim技巧之重复

Vim技巧之重复 Vim重复的类型 文本改变重复 行内查找重复 全文查找重复 文本重复替换 宏录制重复 Vim技巧之重复 当我们用vim编辑文本的时候,不免会进行一些重复的操作,当我们想要重复上次的操作,难道还要重复一遍相同的操作么?这样不免会浪费时间.于是vim就将你上次进行的一些操作记录在vim的寄存器里,当你想要重复上次进行的操作的时候,直接点击快捷键就可以了. Vim重复的类型 vim中有五种基本的重复类型,分别是: 重复类型 重复操作符 回退操作符 文本改变重复 . u 行内查找重复