【发布时间】:2017-03-15 22:20:39
【问题描述】:
我想使用 vim 向列表中的对象添加一个新字段。每个对象的行数不一样。但是,每个对象的最后一个字段都是相同的。
每个对象的新字段都是相同的,所以我想我可以创建一个 vim 宏,在每个对象的末尾插入静态字段,并在前一行插入一个逗号。不过,我的问题是我无法在宏记录器中执行字符串搜索。
这是我想要完成的一个示例:
Input:
[
{
"prop1": 10,
"prop2": 30,
"last": 99
},
{
"prop1": 80,
"last": 10
},
{
"propA": 33,
"propB": 90,
"propC": 38,
"last": 100
}
]
Desired Output:
[
{
"prop1": 10,
"prop2": 30,
"last": 99,
"new": 0
},
{
"prop1": 80,
"last": 10,
"new": 0
},
{
"propA": 33,
"propB": 90,
"propC": 38,
"last": 100,
"new": 0
}
]
我尝试通过在 vim 中输入以下内容来完成此操作:q q /last ENTER $ a , ESC p q。我已将"new: 0 复制到我的剪贴板。似乎搜索部分不起作用,因为每次我运行宏时,它都会粘贴光标开始的行,而不是字符串“last”的下一个实例的行。
【问题讨论】: