Ich stimme der Antwort zu, dass "Showbreak" die beste Option ist. Bei Showbreak können Sie in der Regel nicht druckbare Zeichen (z. B. Leerzeichen oder Tabulatoren) in den Showbreak-String einfügen, so dass Sie normalerweise nur einen Indikator am linken Rand erhalten, d. H. Keinen echten Einzug. Das ist nicht gut, denn das Hauptziel von OP besteht meiner Meinung nach darin, gewickelten Linien einen Einzug zu geben, damit sie nicht vom linken Randbereich überflutet werden und wie eigene Linien aussehen.
Eine Möglichkeit, einen (hässlichen) Einzug mithilfe von showbreak hinzuzufügen, besteht darin, einfach viele Zeichen zu verwenden, z. B. ": set showbreak => ---------------> ". Dies führt zu etwas, das wie folgt aussieht:
*Inside of window *Outside of window
|---------------------------------------|
|\t\tthis is a like of text that will |
|>--------------->wrap here |
|\t\tcan you see the wrap |
| |
|---------------------------------------|
Eine bessere Alternative könnte die Verwendung von nonbreaking Leerzeichen (vorausgesetzt, die Instanz von Vim ist Unicode-fähig), von denen jede eingegeben werden kann in die showbreak Zeichenfolge zu machen sein mit die Tastenfolge von ctrl-v, 160. Auf diese Weise können Sie eine Showbreak-Zeichenfolge eingeben, die auf der linken Seite leer ist und als echter Einzug erscheint. Z. B. ": set showbreak =............ >>" wo jeder '.' In dem Befehl ist tatsächlich ein nichtbrechendes Leerzeichen, das durch Drücken von Strg-V, 160 eingegeben wird. So können Sie mit einem Wrap am Ende, die gut gegliederte ist, wie folgt aus:
*Inside of window *Outside of window
|---------------------------------------|
|\t\tthis is a like of text that will |
| >>wrap here |
|\t\tcan you see the wrap |
| |
|---------------------------------------|
Sie haben noch keine Möglichkeit, die Einrückungslevel zu je nach ihrer Gedankenstrich der vorherigen Zeile, aber zumindest Sie sauber bekommen Eindruck eingewickelter Linien ohne viel visuellen Durcheinander am linken Fensterrand. Es kann immer noch Verwirrung stiften, wenn der Einzug einer eingewickelten Zeile kleiner ist als der Anfang einer tatsächlichen Zeile, aber dies könnte vielleicht dadurch vermieden werden, dass der "Einzug" für den Showbreak ziemlich groß ist (dh größer als jeder in Ihrem Code übliche Einzug)) aber immer noch klein genug, dass es genug Platz für lesbares Umhüllen des Textes bietet. Für viele Anwendungen würde ich einen Einbruch von 40 oder 50 Feldern gut machen.
+1 für den Aufwand, um die Frage so klar wie möglich zu machen. –
Möchten Sie, dass der Text am Rand des Fensters weich gepackt wird oder wenn die Linie eine bestimmte Länge erreicht? Ich denke, Sie wollen Hard-Wrapping (wo ein Newline in Ihren Text nach dem Wort "Wille" eingefügt wird), aber es ist schwierig, von Ihren Beispielen zu erzählen. –
@Bill, ich interessiere mich hauptsächlich für die Weichverpackung, aber eine hardwrapping Lösung wäre auch akzeptabel. – sixtyfootersdude