FunktionenPreiseDokumentationBlog
mote holen
← Blog
Design·23. Juni 2026·4 Min. Lesezeit

Auch beim Wechsel des Modus bleibt es ein und dasselbe Dokument

Fühlt es sich so an, als würde sich das Fenster beim Öffnen der Vorschau teilen und das Dokument beim Wechseln des Modus erneut geöffnet werden? Live, Quelltext und Lesen in mote sind drei Ansichten desselben Puffers, sodass beim Wechseln weder eine Konvertierung noch ein Speichern oder erneutes Parsen stattfindet.

m
mote
Eine Ansicht, in der dasselbe Dokument in Live, Quelltext und Lesen nebeneinander dargestellt ist. Links sind die Zeichen ausgeblendet, in der Mitte wird die Datei unverändert angezeigt und rechts ist das Rendering zu sehen, aus dem die Zeichen entfernt wurden.
Eine Ansicht, in der dasselbe Dokument in Live, Quelltext und Lesen nebeneinander dargestellt ist. Links sind die Zeichen ausgeblendet, in der Mitte wird die Datei unverändert angezeigt und rechts ist das Rendering zu sehen, aus dem die Zeichen entfernt wurden.

Markdown-Editoren teilen den Bildschirm normalerweise in zwei Bereiche. Links schreibt man und rechts sieht man das Ergebnis. Weil dasselbe Dokument zweimal dargestellt wird, müssen Scrollposition und Auswahl ständig synchronisiert werden.

mote wurde anders entwickelt. Es gibt nur ein Dokument, und lediglich die Art der Darstellung ändert sich.

Ein Dokument, drei Ansichten

mote verfügt über drei Modi.

  • Live: Blendet die Zeichen aus und zeigt die Formatierung direkt an.
  • Quelltext (Source): Zeigt den in der Datei gespeicherten Inhalt unverändert an.
  • Lesen (Reading): Zeigt das Ergebnis an, aus dem die Markdown-Zeichen vollständig entfernt wurden.

Der Kern liest das Dokument und erstellt eine Liste von Dekorationen. Es gibt nur drei Arten. Auf welchen Bereich ein Stil angewendet, welcher Bereich ausgeblendet und welcher Bereich stattdessen als Widget dargestellt werden soll.

Die drei Modi sind das Ergebnis unterschiedlicher Filter, die auf diese Liste angewendet werden. Auch beim Wechseln des Modus wird das Dokument weder erneut geöffnet noch analysiert. Sowohl der Blockbaum als auch die Inline-Ergebnisse bleiben unverändert, und nur der Filter wechselt.

So ist es auch im Leistungsbudget festgehalten. Der Moduswechsel muss innerhalb eines Frames und der Übergangsanimation abgeschlossen sein. Wenn dabei erneut geparst wird, ist das ein Verstoß. Da die Kosten des Wechsels nicht proportional zur Dokumentgröße steigen, wechseln auch große Dokumente mit derselben Geschwindigkeit.

Auch der Cursor und der Auswahlbereich bleiben unverändert. Die im Quelltext bearbeiteten Zeichen befinden sich auch in Live an derselben Stelle, und ein in Live ausgewählter Satz bleibt auch im Quelltext ausgewählt.

Man wechselt also nicht zu einer anderen Kopie des Dokuments, sondern betrachtet dasselbe Dokument aus einem anderen Blickwinkel.

Schreiben, überprüfen und lesen

Beim Schreiben ist der Live-Modus praktisch. Auf dem Bildschirm bleibt nur der Inhalt sichtbar, und die Markdown-Zeichen erscheinen, wenn der Cursor sie berührt. Tabellen, Formeln und Bilder werden an Ort und Stelle als Widgets dargestellt. Man kann die Zellen bearbeiten, während man das Raster sieht.

Wenn auch die Zeichen genau überprüft werden müssen, verwendet man den Quelltextmodus. Er eignet sich gut, um zu prüfen, ob die senkrechten Striche einer Tabelle verrutscht sind, ein Codeblock geschlossen wurde oder sich am Zeilenende Leerzeichen befinden.

Der Lesemodus ist die Ansicht für das endgültige Ergebnis. Die Zeichen werden nicht nur ausgeblendet, sondern vollständig vom Bildschirm entfernt. Auch Ausdrucke und PDFs werden auf Grundlage dieser Ansicht erstellt. Eine Bearbeitung ist nicht möglich, aber Text kann ausgewählt und kopiert werden, und auch Links lassen sich öffnen.

Im Lesemodus geöffnete Versionshinweise. Inline-Formeln und abgesetzte Formeln werden ohne Markdown-Zeichen an ihrer jeweiligen Stelle angezeigt.
Im Lesemodus geöffnete Versionshinweise. Inline-Formeln und abgesetzte Formeln werden ohne Markdown-Zeichen an ihrer jeweiligen Stelle angezeigt.

Die Umsetzung des Lesemodus war nicht einfach. Denn nachdem die Zeichen entfernt worden waren, unterschieden sich die Positionen auf dem Bildschirm von den Positionen in der Datei. Suchergebnisse verschoben sich zur Seite, und auch die angeklickte Stelle stimmte nicht mehr mit der Cursorposition überein.

Jetzt zeichnet der Kern auch die Position und Länge der entfernten Zeichen auf. Dadurch kann eine auf dem Bildschirm angeklickte Position wieder der exakten Position in der Datei zugeordnet werden.

Direkt an der gelesenen Stelle wechseln

Dazu klickt man im Header auf den gewünschten Modus oder verwendet Ctrl+Shift+1, 2, 3.

Auch nach dem Wechseln bleiben die erste sichtbare Zeile und die Cursorposition erhalten. Die Überblendung ist eine begrenzte Animation von 160ms, sodass nach ihrem Ende keine geplanten Aufgaben zurückbleiben. Im Bearbeitungs-Tab der Einstellungen lässt sich festlegen, in welchem Modus ein neues Fenster geöffnet wird.

Bei den Tastenkürzeln gab es eine kleine Fehleinschätzung. Eine Zeit lang stand in der Anleitung, dass Ctrl+1/2/3 zum Wechseln des Modus dient, tatsächlich waren dies jedoch die Tastenkürzel zum Erstellen von Überschriften. Das Fenster fing die Tasteneingabe zuerst ab, sodass der Code für den Moduswechsel nicht ausgeführt wurde.

Jetzt sind die Aufgaben klar getrennt. Ctrl+Shift+1/2/3 dient zum Wechseln des Modus, während Ctrl+1 bis Ctrl+6 für Überschriften vorgesehen ist. Auch die Befehlspalette, die Liste der Tastenkürzel und die Dokumentation auf der Website wurden so überarbeitet, dass sie alle dieselben Angaben enthalten.

Der Fokusmodus legt sich leicht über die Ansicht

Wenn man F8 drückt, wird nur der Block mit dem Cursor deutlich angezeigt. Bei allen übrigen Zeilen wird lediglich der Alphawert der Tinte auf 32% gesenkt.

Nur die Farbe ändert sich, die Position der Zeichen bleibt unverändert. Da es weder einen Unschärfeeffekt noch eine Animation gibt, muss beim Wechseln zwischen Absätzen nicht der gesamte Bildschirm neu berechnet werden.

Der Fokusmodus ist kein vierter Modus. Er ist eine Option, die über die Live-Ansicht gelegt wird, und man kann zu einem anderen Modus wechseln, während sie aktiviert bleibt.

Live-Ansicht mit aktiviertem Fokusmodus. Nur die Liste mit dem Cursor wird deutlich angezeigt, während der Rest an derselben Stelle blasser erscheint.
Live-Ansicht mit aktiviertem Fokusmodus. Nur die Liste mit dem Cursor wird deutlich angezeigt, während der Rest an derselben Stelle blasser erscheint.

Warum der Bildschirm nicht geteilt wird

mote verfügt über keine geteilte Vorschau.

Wenn dasselbe Dokument zweimal dargestellt wird, müssen die Scrollpositionen synchronisiert, die Auswahl übertragen und die Zustände beider Ansichten verwaltet werden. mote hat sich von Anfang an dafür entschieden, dieses Problem gar nicht erst entstehen zu lassen.

Auch der Rückgängig-Verlauf, die Auswahl und die Scrollposition sind jeweils nur einmal vorhanden.

Es gibt nicht deshalb drei Modi, weil es drei Dokumente gibt. Es gibt sie, weil es drei verschiedene Momente gibt, in denen dasselbe Dokument betrachtet werden muss.

← ÄlterNicht Markdown machte es schwerfällig, sondern die Web-EngineNeuer →Warum wir plattformspezifische Shells auf einen gemeinsamen Rust-Kern gesetzt haben
Bleiben Sie per RSS auf dem Laufenden.
Nur das Schreiben bleibt.
Deutsch
© 2026 mote