使用VIM插入额外的换行符

his*_*eim 1 vim text-manipulation

我有一份带有连续文字的采访记录.有时,会说出来的人的姓名(Aron:,Kalle:,Tomas:等).我想在每个名称之后插入一个换行符,后跟冒号(:)(我指定的名称).

我如何在VIM中编写脚本,以便在运行命令时,它会遍历整个文本文件并插入那些额外的换行符?

换句话说,我想转此:

Aron: bla, bla, bla
Kalle: yes, yes, yes
Run Code Online (Sandbox Code Playgroud)

成:

Aron: bla, bla, bla

Kalle: yes, yes, yes
Run Code Online (Sandbox Code Playgroud)

kev*_*kev 5

试试这个简单的命令:

:g/^/pu_
Run Code Online (Sandbox Code Playgroud)
  • g/^/ 将匹配每一行,然后执行下面的exec命令.
  • pu _将来自寄存器_(黑洞寄存器)的文本放在当前匹配的行之后.

您还可以使用以下:substitute命令:

:%s/$/\r
Run Code Online (Sandbox Code Playgroud)

另一个使用外部的sed:

:%!sed G
Run Code Online (Sandbox Code Playgroud)

所有命令都具有相同的长度.选一个你喜欢的.