追加到 vim 匹配正则表达式的行
Append to line in vim matching regex
我有一个 json 文件,我 运行 使用 vim 查找并替换了该文件,但是我忘记了该行末尾的 ,
。
...
"id":41483
"someName":"someValue",
...
使用 vim,我如何将 ,
附加到匹配 \"id\"\:[0-9].*$
的每一行?
试试这个。匹配具有 id 后跟任何字符的所有内容,直到结束。将其替换为在替换段中由 \1 表示的匹配组(由括号匹配)。
%s/\(id".*\)$/,/g
另一种方法是使用全局命令和普通命令。
:g/"id":[0-9]/norm A,
全局命令在匹配 "id":[0-9]
的每一行上运行 norm A,
。 norm A,
在正常模式下运行 A,
,即在行尾附加一个 ,
。
看看 :help :global
和 :h :normal
我有一个 json 文件,我 运行 使用 vim 查找并替换了该文件,但是我忘记了该行末尾的 ,
。
...
"id":41483
"someName":"someValue",
...
使用 vim,我如何将 ,
附加到匹配 \"id\"\:[0-9].*$
的每一行?
试试这个。匹配具有 id 后跟任何字符的所有内容,直到结束。将其替换为在替换段中由 \1 表示的匹配组(由括号匹配)。
%s/\(id".*\)$/,/g
另一种方法是使用全局命令和普通命令。
:g/"id":[0-9]/norm A,
全局命令在匹配 "id":[0-9]
的每一行上运行 norm A,
。 norm A,
在正常模式下运行 A,
,即在行尾附加一个 ,
。
看看 :help :global
和 :h :normal