在 Vim 中将文本模式后的行合并

在 Vim 中将文本模式后的行合并

我尝试使用 vim 连接线路,但没有成功

假设我有一个如下所示的文本文件:

HI
Hello 
A, b, c, d,
HI
Hello 
A, b, c, d,
HI
Hello 
A, b, c, d,
HI
Hello 
A, b, c, d,

我想将所有以 HI. 开头的行连接到 Hello. 之后,使其看起来像这样:

Hello HI
A, b, c, d,
Hello HI
A, b, c, d,
Hello HI
A, b, c,
Hello HI
A, b, c, d,

答案1

:g/^Hello/m-2|j

这就是您想要的命令。

  • G用于全局命令

  • ^你好是正则表达式

  • 米-2将当前行移至当前位置上方 2 行;意味着将当前行与上方行交换

  • 连接当前行和上一行,并在两者之间插入一个空格。使用 j! 表示不插入空格。

  • |分隔两个 ex 命令

相关内容