Unterschied zwischen Hard Wrap und Soft Wrap?

99

Ich bin gerade dabei, einen Texteditor zu schreiben. Nachdem ich mir andere Texteditoren angesehen habe, habe ich festgestellt, dass sich einige von ihnen auf einen "weichen" gegenüber einem "harten" Umbruch beziehen. Was ist der Unterschied? Ich kann die Antwort nicht durch Suchen finden.

Titandecoy
quelle

Antworten:

136

Bei einem harten Zeilenumbruch werden an Zeilenumbruchpunkten tatsächliche Zeilenumbrüche in den Text eingefügt. Beim weichen Zeilenumbruch befindet sich der tatsächliche Text immer noch in derselben Zeile, sieht jedoch so aus, als wäre er in mehrere Zeilen unterteilt.

Firas Assaad
quelle
19

Es ist üblich, dass Texteditoren Text automatisch in Absätze mit harten Zeilenumbrüchen einbinden. Es ist jedoch weniger üblich, dass der Text in einen schönen Absatz zurückfließt, wenn Sie später wiederkommen und später Wörter bearbeiten / hinzufügen / entfernen. (Sie können dies manuell in Emacs mit Mq tun.)

Dies ist ziemlich ärgerlich, da zwanghafte Leute wie ich dann zurückgehen und die harten Pausen an den entsprechenden Stellen manuell wieder einfügen müssen.

Auf der anderen Seite ist Soft Wrapping ärgerlich, da die meisten Befehlszeilentools zeilenbasiertes Diffing verwenden (bei der Versionskontrolle fällt mir dies am deutlichsten auf). Wenn Sie einen 1/3-seitigen Absatz haben, der weich verpackt ist und einen Tippfehler behebt, ist es im Grunde unmöglich zu erkennen, wo sich die Änderung in einer regulären diffAusgabe oder ähnlichem befindet.

Will Robertson
quelle
2
Ich weiß, dass Sie "normales" Diff gesagt haben, aber ich möchte darauf hinweisen, dass das Hervorheben ein Glücksfall ist.
SW.
1
@ Will, also welche Art von Lösung empfehlen OCD-Leute wie Sie?
Pacerier
Wenn Sie Vim mit aktivierten Zeilennummern verwenden (: set nu), werden Sie feststellen, dass Zeilen weich umbrochen werden, diese jedoch getrennt bleiben. Wenn also eine einzelne Zeile breiter als der Bildschirm ist, können Sie trotzdem den gesamten Text lesen , aber es wird Ihre Fähigkeit, nach Zeilennummern zu suchen, nicht beeinträchtigen. (Eine sichtbare Linie unterscheidet sich von einer tatsächlichen Linie). Sie können auch direkt zu einer Zeile springen, indem Sie
Folgendes
Wenn Sie Git verwenden, können Sie Änderungen mit Soft Wrapping leicht erkennen. Verwenden Sie git diff --word-diff
Anthony Ebert
13

soft : Der Text im Textbereich wird beim Senden in einem Formular nicht umbrochen. Dies ist die Standardeinstellung

schwer : Der Text im Textbereich wird beim Senden in einem Formular umbrochen (enthält Zeilenumbrüche). Wenn "hard" verwendet wird, muss das Attribut cols angegeben werden

Referenz: W3Schools

RevanthKrishnaKumar V.
quelle