Vim: Zeilenumbruch für Dokumente

7

Was ist der beste Weg, um ein Dokument mit Zeilenumbruch zu versehen vim?
Ich möchte, dass jede Zeile mit 80 Zeichen umbrochen wird, nicht nur visuell umbrochen, sondern eine neue Zeile eingegeben wird.

Ich habe diese Art der Arbeit mit

:set wrap
:set linebreak

Wenn ich jedoch zurückgehe und Text in eine vorherige Zeile einfüge, wird der Rest des Absatzes nicht angepasst. Der Überlauftext wird in eine neue Zeile eingefügt, aber die nachfolgende Zeile wird nicht nach oben verschoben, um die Lücke zu füllen.

Wenn ich also eine vorherige Zeile bearbeite, kann mein Absatz so aussehen

A line that is 80 characters long
short line
A line that is 80 characters lone

Ich möchte, dass es so ist:

A line that is 80 characters long
short line A line that is 80
characters long
jonescb
quelle

Antworten:

17

wrapund linebreaksteuern Sie die Anzeige von Text, ich denke, Sie werden feststellen, dass sie keine Zeilenumbrüche in die Datei einfügen. Stellen Sie textwidthdie gewünschte Breite ein (z. B. 80), damit vim während der Eingabe Zeilenumbrüche in die Datei einfügt .

Das wird nachfolgende Zeilen immer noch nicht automatisch neu fließen lassen, wenn Sie mehr Text einfügen. Normalerweise mache ich das manuell mit gq}, aber ich habe gerade festgestellt, dass set formatoptions+=avim angewiesen wird, dies automatisch zu tun. Siehe die Hilfe fürauto-format .

Andy
quelle
formatoptions+=aist sehr nützlich, danke!
Jonescb
4

Das gq}umschließt einen Absatz mit textwidth. Seien Sie sicher, set tw=80zuerst. Viele Distributionen ordnen dies Q zu. Daher können Sie möglicherweise auch Q}stattdessen verwenden.

Keith
quelle
1

Ich verwende parfür die Formatierung, es kann sogar ein Zeilenumbruch mit einem vorhandenen Präfix erfolgen, beispielsweise im Zusammenhang mit E-Mails.

Frederik Deweerdt
quelle