如何使用 vim 从更改日志形式的文本中合并特定行并删除特定换行符?

如何使用 vim 从更改日志形式的文本中合并特定行并删除特定换行符?

我有一个如下的变更日志:

版本 1.90
(1 个换行符)
2014 年 4 月 27 日发布
(随后出现 2 个换行符)

添加功能 x ---> (1.90 的第一个条目)
(每个条目之间有一个换行符)
修复错误 y

删除了元素 z

更新文件 z ----> (1.90 的最后一项)
(3 个后续换行符)

版本 1.89

而且我要:

  1. 合并每两条这样的线:

    版本 1.90

    2014 年 4 月 27 日发布

    进入 :

    版本 1.90(2014 年 4 月 27 日)

  2. 删除以下换行符:
    • 条目之间的所有换行符,
      即 2 个连续换行符和 3 个连续行之间的所有换行符
    • 合并后的“版本 1.90(2014 年 4 月 27 日)”中有 2 个换行符

文本太长,无法手动转换。
谢谢。

答案1

如果我理解正确的话:

g/^$/d
%s/\v^(version.*)\n(.*)/\r\1 (\2)\r

相关内容