我有一个 json 文件,我使用 vim 运行了查找和替换,但是我忘记了行尾的
,
。
...
"id":41483
"someName":"someValue",
...
使用 vim,如何在匹配
,
的每一行附加 \"id\"\:[0-9].*$
?
试试这个。匹配所有有 id 后跟任何字符的东西直到最后。将其替换为匹配组(用括号匹配),在替换段中用 表示。
%s/\(id".*\)$/\1,/g
另一种方法是使用全局命令和普通命令。
:g/"id":[0-9]/norm A,
全局命令在与
norm A,
匹配的每一行上运行 "id":[0-9]
。 norm A,
在正常模式下运行 A,
,即在行尾附加 ,
。
看看
:help :global
和:h :normal
:g:"id":s:$:,
:g:"id"
- 子字符串的全局搜索 "id"
:s:$:,
- 与搜索模式匹配的行中将 $
(行尾)替换为 ,