老板说,Vim宏都不会用,你的工做效率过低啦~

工做中,对于文本文件的编辑咱们常常有这样的需求:linux

  • 屡次重复输入一段相同文本;
  • 生成一段序列化的文本;
  • 每行文本插入一句相同的文本。

除此以外,还有不少须要重复操做的动做。对于这些需求,若是咱们人工去操做的话,确定是很是枯燥乏味,而且要浪费不少时间精力。面试

这时, Vim 宏就派上用场了,它能够经过一些简单的步骤快速完成这些重复性的操做,省时省力!下面详细讲解。数据库

宏的录制和运行

宏的录制编辑器

  1. 在 Vim 编辑器中建立新文件或打开现有文件;
  2. q 并跟上 宏名 开始录制。假设咱们想要将宏名命名为 b ,则按 Escqb 开始录制;
  3. 文本编辑ing……
  4. q 中止录制。至此,宏的录制已完成。

宏的运行工具

@宏名 便可运行宏一次,按 次数@宏名 重复运行宏屡次。.net

下面给出实例来详细介绍。3d

示例-1:使用宏屡次生成相同的文本

例如咱们要生成 100 行同样的文字,一种比较笨的办法就是复制而后粘贴所须要的遍数。这种效率很是低,并且很是容易出错。有了宏这个工具,一切变得超级简单!code

首先,咱们在 Vim 编辑器中建立一个名为 file1.txt 的新文件。cdn

file

而后,咱们按 q 以后再按 z 开始录制宏。这里的 z 就是 宏名 ,后面会用到。若是录制正确,底部就会出现 recording @z 字样。blog

再以后,按 i 而后输入要须要重复的文本。好比这里输入文本 Learning Vim Macros

最后按 q 中止录制,这时 recording @z 就会从底部消失。这样,一个名为 z 的 宏就录制完成了,后续咱们就能够利用这个宏来重复完成文字录入工做。

若是你想运行一次刚刚建立的宏,那么将光标移动到文件的所需位置,而后并按 @z 就能够了,这时文字就会被复制一遍。

若是你想要复制 N 屡次这行文字,则能够屡次运行刚刚那个宏。此时只需在宏前面加 次数 便可。例如 4@z 就能够运行刚才的宏 4 次,相应文字就会被复制 4 遍。

示例-2:使用宏生成序列号

在示例-1里咱们是机械重复复制一堆同样的文字,那若是想要生成带序列的文本该如何处理?使用宏也能够轻松完成!

假设咱们要生成 101-110 的一系列数字,咱们一块儿来完成这个需求。

首先,在 Vim 编辑器中建立一个名为 file2.txt 的新文件,接着按 i 键入 101.

ESC 退出键入。而后再按 qy 以宏名称 y 开始录制后续的操做。咱们将光标移到第一行的开头并按 yy 复制文本,而后按 p 将文本粘贴到下一行。

接着,按 Ctrl + a 将第二行的值从 101 增长到 102 。最后,像以前同样按 q 中止录制,咱们的宏就制做完成了。

接下来,就是见证奇迹的时刻!

咱们键入 8@y ,刚刚所录制的宏就会运行 8 次,生成从 103110 的连续数字。一键操做,简单高效!

这对于一些带有序列性的文本很是有用,你就无需再重复去作 复制-->改数字 这样重复枯燥的工做,同时效率也会大大提高!

示例-3:在文件的每一行中添加相同的文本

咱们在操做数据库的时候,不少状况下一些语句很是类似,好比 insert into items values(100, 20077100050, alvin) 这样的文本,会重复不少次。假如咱们如今已经有了要插入的数据,如何快速生成多条 SQL 语句?

在这个例子里,咱们假设数据文件 file3.txt 有 4 条数据,以下图示。

首先,咱们在 Vim 编辑器中打开数据文件 file3.txt ,而后按 ESC ,再而后按 qd 以宏名 d 开始录制。

将光标转到文件的开头,按 i 键插入文本。而后再输入 insert into items values( ,再接着按 ESCwyw 5 次。

在这里,w 用于转到下一个单词,yw 用于复制当前单词。之因此这里要 5 次是由于这里每行有五部分。分别是 11001 , HDD , Samsung (注意逗号也算一部分)。

以后,按 ESCa 键将光标移动到行尾,再输入 );

最后,按 j 而后按 q 。这里,j 用于移动到下一行,q 用于中止录制。这样咱们所须要的宏就制做完成了。

如今,咱们想要让下面剩下的 3 行的文本都处理成第一行那样的格式,直接按 3@d 运行宏 3 次就能够实现。这样一来,在数据库中进行插入就会方便不少,并且咱们无需手动一个个去更改,简单高效!

结论

咱们在写代码过程当中,有不少场合文本、代码高度类似,若是咱们手动去一个个修改的话,那效率将会很是低。有了 Vim 下宏这个神器,咱们能够经过建立和使用不一样类型的宏来完成这些重复性工做,从而节省时间和精力,实现高效编辑。

看完的都是真爱,点个赞再走呗?您的「三连」就是良许持续创做的最大动力!

  1. 关注原创公众号「良许Linux」,第一时间获取最新Linux干货!
  2. 公众号后台回复【资料】【面试】【简历】获取精选一线大厂面试、自我提高、简历等资料。
  3. 关注个人博客:lxlinux.net
相关文章
相关标签/搜索