来自 科技 2020-04-08 15:02 的文章

装x神器之vim宏命令

要向一个表中插入数据,我通常会把表结构的字段拷贝出来,放在一个数组里:

装x神器之vim宏命令

很明显,光是这样是不对的,我需要把反引号改为单引号,并且把第二个反引号后面的字符串改为符合语法的内容,如改为下面的内容:

装x神器之vim宏命令

该如何实现?

方法一

1.先将第一个反引号替换为'

:3,18s/`/'/

2.再将第二个反引号后面内容替换为'=>'',

:3,18s/` .\+/'=>'',/g

格式化(我这里的格式有插件,不讲)

方法二

使用宏命令,其目的就是将一组操作打包,并命名这组操作,例如命名为a。等我们需要进行同样的操作时,只需按下@a即可。相当于创建了一个函数

语法为:qa action q,此时宏名为a,调用时键入@a即可。

实现步骤:qa+0+f反引号+s+'+esc+f反引号+c$+'=>'',+esc+j+0+q+100@a+格式化

qa 开始录制一个宏命令,命名为a

0 光标移动到行首

f反引号 向后查找反引号

s 删除并进入插入模式

' 插入一个单引号

esc 从插入模式进入一般模式

f反引号 向后查找反引号

c$ 将光标到行尾的字符删除(更新为空),并进入插入(更新)模式

'=>'', 更新为这些内容

esc 从插入模式进入一般模式

j 光标向下移动一行

0 光标移动到行首

q 结束录制该宏命令,此时这个宏命令就创建成功了

100@a 调用100此被命名为a的宏命令

格式化(我这里的格式有插件,不讲)

装x神器之vim宏命令