Ich denke, das macht, was Sie wollen: Stellen Sie sicher, dass am Ende der Datei eine leere Zeile steht, und fügen Sie dann jeden Absatz hinzu (durch eine leere Zeile abgeschlossen).
G:a . :g/^./ .,/^$/-1 join
Erläuterung: Gehen Sie zuerst zum Ende der Datei und hängen Sie eine zusätzliche leere Zeile mit an :a
(vielleicht gibt es eine elegantere Möglichkeit, dies zu tun; interaktiv können Sie die ersten drei Zeilen mit ersetzen o<ESC>
). Wenden Sie dann für jede nicht leere Zeile, die noch nicht berücksichtigt wurde ( :g/^./
), den join
Befehl auf den Bereich an, der an der ausgewählten Zeile ( .
) beginnt und eine Zeile vor der nächsten leeren Zeile endet ( /^$/-1
).
Optional, :g/^$/d
wenn keine leere Zeile verbleiben soll (dann können Sie die Zeile entfernen -1
).