Damit Absätze auch in anderen Werkzeugen gleich aussehen, haben wir klare Regeln für die Eingabetaste festgelegt
Ist es Ihnen schon einmal passiert, dass Sie in einem Markdown-Editor einmal Enter gedrückt haben und der Cursor auf dem Bildschirm zwei Zeilen nach unten gesprungen ist? Oder dass Absätze, die auf dem Bildschirm getrennt waren, auf GitHub zu einem einzigen Block zusammengefügt wurden? Das sind zwei Seiten derselben Frage.

Was sollte passieren, wenn man in einem Markdown-Editor Enter drückt?
Auf dem Bildschirm sollte es nur eine Zeile nach unten gehen. In der Datei sind jedoch zwei Zeilenumbrüche nötig, um Absätze voneinander zu trennen. Dieser scheinbar einfache Unterschied bestimmt den Charakter eines Editors.
mote hat sich für eine Methode entschieden, bei der die Datei unverändert bleibt und Absätze sich dennoch natürlich schreiben lassen.
Einmal drücken, eine Zeile nach unten
In mote erzeugt Enter einen neuen Absatz.
Auf dem Bildschirm geht es eine Zeile nach unten, in die Datei werden zwei Zeilenumbrüche eingefügt. Wenn sich neben dem Cursor bereits ein Zeilenumbruch befindet, wird er als eine Hälfte der Trennung gezählt. Deshalb bedeutet einmaliges Drücken unabhängig von der Umgebung immer eine Zeile.
Wenn Sie innerhalb desselben Absatzes nur die Zeile wechseln möchten, drücken Sie Shift+Enter. In die Datei wird ein einzelner Zeilenumbruch eingefügt, und auch die nächste Zeile bleibt im selben Block. Das ist nützlich, wenn Zeilen wie bei einer Adresse oder einem Gedicht unmittelbar untereinander stehen sollen.
Die Leerzeile zwischen Absätzen wird auf dem Bildschirm nicht gesondert angezeigt. Denn sie ist ein Trennzeichen, das die Absätze voneinander abgrenzt. Auch der Cursor verweilt nicht auf ihr. Wenn Sie Backspace drücken, verschwindet die Absatztrennung auf einmal.
Mit jeder Eingabe bewegt sich auch die Anzeige jeweils um eine Zeile.
Auch die Datei bleibt echtes Markdown
Markdown trennt Absätze durch zwei Zeilenumbrüche.
Wenn man einen einzelnen Zeilenumbruch als Absatz behandelt, entstehen Probleme. In Dateien, die von anderen erstellt wurden, verdoppelt sich der Abstand zwischen den Absätzen, und in mote erstellte Dateien werden auf GitHub oder in Pandoc zu einem einzigen Absatz zusammengefügt.
Um dieses Modell handhaben zu können, normalisiert Typora die Datei beim Speichern. Beispielsweise werden drei Leerzeilen auf eine reduziert. mote verändert die Datei nicht stellvertretend. Denn es gilt der Grundsatz, keine Bytes hinzuzufügen oder zu löschen, die der Benutzer nicht eingegeben hat.
Stattdessen wurde eine weitere Regel aufgestellt.
Es werden keine Zeilen erzeugt, die zwar in der Datei vorhanden sind, aber weder sichtbar noch bearbeitbar sind. Nur eine Leerzeile zur Trennung von Absätzen wird ausgeblendet, alle übrigen werden auf dem Bildschirm angezeigt.
Auch Leerzeilen brauchten Regeln
Anfangs wurde von mehreren aufeinanderfolgenden Leerzeilen nur die erste als Absatztrennzeichen betrachtet.
Dadurch kam es zu merkwürdigen Effekten. Wenn man in eine Leerzeile Text schrieb, wurde er mit dem darunterliegenden Absatz verbunden, und um einen neuen Absatz anzulegen, musste man Enter noch einmal drücken. Nach dem Löschen eines Absatzes blieb manchmal eine Leerzeile zurück.
Die Ursache war eine einzige. Eine Absatztrennung besteht aus einem Paar von zwei Zeilenumbrüchen, doch nur einer davon wurde als Trennzeichen gezählt.
Jetzt wechseln sich innerhalb aufeinanderfolgender Leerzeilen Trennzeichen und leere Absätze ab. Drei Leerzeilen in der Datei ergeben auf dem Bildschirm eine leere Zeile. Da auch ein leerer Absatz eine Zeile ist, braucht er auf beiden Seiten ein Trennzeichen.
Auch die Fälle, in denen Enter vorhandene Zeilenumbrüche in der Umgebung wiederverwendet, wurden eindeutig geregelt. Wiederverwendet wird nur ein Zeilenumbruch, der zwei Zeilen desselben Absatzes verbindet. Ein Zeilenumbruch, der bereits zur Absatztrennung verwendet wird, wird nicht noch einmal verwendet.
Backspace folgt demselben Prinzip. Wenn Sie einen leeren Absatz löschen, verschwinden diese Zeile und die umgebenden Trennzeichen gemeinsam. Einmaliges Drücken verringert die Anzeige nur um eine Zeile.
Dieses Verhalten wird auf dem Bildschirm und in der Datei gemeinsam geprüft. Im selben Test werden nicht nur die Zeilenhöhen auf dem Bildschirm, sondern auch die tatsächlich in der Datei gespeicherten Bytes überprüft.
Im Quelltextmodus wird die Datei unverändert angezeigt
Die Absatzregeln gelten nur im Live-Modus und im Lesemodus.
Im Quelltextmodus erhält jede Zeile eine eigene Bildschirmzeile. Auch Leerzeilen werden unverändert angezeigt, und der Cursor kann sich überallhin bewegen. Wenn Sie Enter drücken, wird nur ein einzelner Zeilenumbruch eingefügt.

Wenn der Anzeige eine Interpretation hinzugefügt wurde, muss es auch einen Ort geben, an dem man diese Interpretation entfernen und das Original betrachten kann. Deshalb wird der Quelltextmodus auch beim Bearbeiten von Tabellen oder Codeblöcken benötigt.
Die unveränderte Darstellung bringt auch Einschränkungen mit sich
Wenn die Datei mit einem Zeilenumbruch endet, wird am Ende eine leere Zeile angezeigt.
Der letzte Zeilenumbruch ist kein Trennzeichen zwischen zwei Blöcken. Er ist eine Stelle, an der das nächste Zeichen eingegeben werden kann. Deshalb wird er nicht ausgeblendet.
Dokumente, die in früheren Versionen von mote durch einen einzelnen Zeilenumbruch getrennt wurden, werden nun als ein einziger Absatz angezeigt. Das entspricht den Markdown-Regeln. Um die Absätze zu trennen, drücken Sie an der betreffenden Stelle noch einmal Enter. mote verändert die Datei nicht heimlich.
Ein Absatz existiert weder nur auf dem Bildschirm noch nur in der Datei. mote wurde so gestaltet, dass er sich auf dem Bildschirm natürlich schreiben lässt und in der Datei als echtes Markdown erhalten bleibt.