在 Vim 中将行连接到文本模式之后

use*_*621 2 vim regex

我尝试使用 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,
Run Code Online (Sandbox Code Playgroud)

我想加入所有以 HI 开头的行。到之后的你好。使其看起来像:

Hello HI
A, b, c, d,
Hello HI
A, b, c, d,
Hello HI
A, b, c,
Hello HI
A, b, c, d,
Run Code Online (Sandbox Code Playgroud)

Bab*_*cks 5

:g/^Hello/m-2|j
Run Code Online (Sandbox Code Playgroud)

这就是你想要的命令。

  • g是全局命令

  • ^Hello是正则表达式

  • m-2将当前行移动到当前位置上方 2 行;表示将当前行与上面的行交换

  • j连接当前行和上面的行,并在两者之间插入一个空格。使用j!因为没有空间。

  • | 分隔 2 个 ex 命令