Modeless vs Modal Editoren

37

Ich habe gerade angefangen, Linux zu lernen, und alle meine bisherigen Programmiererfahrungen waren auf der Windows-Plattform. Ich bin auf Vim Editor gestoßen und habe gelesen, dass es sich um einen modalen Editor handelt, im Gegensatz zu Editor, der als modaler Editor bezeichnet wird.

Können Sie bitte erläutern, worin der Unterschied zwischen Modeless- und Modal-Editoren im Allgemeinen besteht?

Aussenseiter
quelle

Antworten:

37

Ein normaler, "modellfreier" Editor ähnelt Notepad unter Windows: Es gibt nur einen Modus, in dem Sie Text eingeben.

Vi, und es Nachfolger Vim, sind modal: Es gibt zwei primäre Modi 1 , Insert - Modus , wo Sie Text in den Editor eingeben und es wird auf das Dokument verpflichtet und Normal - Modus , wo Sie Argumente über die Tastatur eingeben , die eine Vielzahl von Funktionen ausführen Dazu gehören: Bewegen des Cursors im Dokument, Suchen und Bearbeiten des Textes im Dokument (z. B. Ausschneiden und Einfügen).

Der Wikipedia-Artikel zu Vi enthält einen guten Eintrag zur modalen Schnittstelle.

Die Hauptattraktion, die ursprünglich in den Anfängen des Unix-Computing vor der weit verbreiteten Einführung der Maus erforderlich war, ist die vollständig tastaturgesteuerte Bearbeitung. Dieser Ansatz ist in Unix-Land inzwischen weit verbreitet und wird beispielsweise von einer Vielzahl von Webbrowsern verwendet .

Dieses großartige Projekt, Vim Clutch , bietet eine klare Visualisierung des Konzepts des Wechsels zwischen den Modi.


1. Es gibt auch zwei andere Modi: den Befehlsmodus für die Eingabe von Befehlen wie in einer Shell und den visuellen Modus für die Auswahl des zu bearbeitenden Texts.

jasonwryan
quelle
3
Vergessen Sie nicht den Kommandozeilenmodus und den visuellen Modus.
Bernhard
Guter Punkt. Der Einfachheit halber habe ich mich an die primären Modi gehalten, aber ich werde sie als Fußnote hinzufügen.
Jasonwryan
Der Link "Vim Clutch" ist tot
Rashi
@ Rashi behoben ...
Jasonwryan
4

Beim Entwurf von Benutzeroberflächen ist ein Modus eine eindeutige Einstellung innerhalb eines Computerprogramms oder einer beliebigen physischen Maschinenoberfläche, bei der dieselbe Benutzereingabe andere Ergebnisse hervorbringt als bei anderen Einstellungen. Die bekanntesten Komponenten der modalen Schnittstelle sind wahrscheinlich die Feststelltaste und die Einfügetaste auf der Standard-Computertastatur. Beide versetzen den Benutzer nach dem Drücken in einen anderen Modus und kehren nach dem erneuten Drücken in den normalen Modus zurück.

Eine Schnittstelle, die keine Modi verwendet, wird als modelllose Schnittstelle bezeichnet. [1] Modeless-Interfaces sollen Modefehler [2] vermeiden, indem sie dem Benutzer das Festschreiben von Fehlern verunmöglichen.

PRAMOD
quelle
4
Dies sieht so aus, als wäre es aus Wikipedia kopiert worden (es sei denn, Sie PRAMOD haben diesen Artikel geschrieben, ich weiß es nicht). Wenn ja, sollte dieser Artikel nicht zitiert werden?
Guildenstern
0

Der Unterschied besteht darin, dass Sie in einem modalen Editor explizit in einen Modus wechseln müssen, um Text einzugeben. In diesem Modus wird durch Drücken einer Taste das Zeichen dieser Taste auf dem Bildschirm angezeigt, auf dem sich der Cursor befindet, genau wie bei einer Schreibmaschine. Anschließend müssen Sie explizit in einen anderen Modus zurückkehren, um andere Aktionen auszuführen, z. B. den Cursor zu bewegen, zu suchen, einen Bereich auszuwählen oder Text zu kopieren.

In einem Editor ohne Modell können Sie immer Text einfügen. Sie müssen eine Zusatztaste verwenden, wenn eine Taste etwas anderes als das Einfügen eines Buchstabens ausführen soll, z. B. die Strg-Taste gedrückt halten und C drücken, um den ausgewählten Text zu kopieren.

Sie sind wirklich nicht so unterschiedlich, wenn Sie sich vorstellen, eine Modifikatortaste in einem anderen Modus zu halten. Der wahre Unterschied besteht in den expliziten Tastenanschlägen, die zum Wechseln des Modus erforderlich sind. In einem Editor ohne Modell können Sie sich eine Modifikatortaste so vorstellen, dass Sie während des Drückens in einen Modus wechselt und beim Loslassen wieder in den anderen Modus wechselt.

Dieser Teil der akzeptierten Antwort ist völlig falsch:

Die Hauptattraktion, die ursprünglich in den Anfängen des Unix-Computing vor der weit verbreiteten Einführung der Maus erforderlich war, ist die vollständig tastaturgesteuerte Bearbeitung.

Die Bearbeitung nur über die Tastatur funktioniert einwandfrei, ohne dass der Modus explizit geändert werden muss. Sie können den Cursor bewegen und Textbereiche mit Tastenkombinationen auswählen. Zum Beispiel: Strg + A, um an den Anfang einer Zeile zu gelangen, Strg + Spc, um eine Marke zu setzen, gefolgt von Strg + E, um an das Ende der Zeile zu gelangen und so die gesamte Zeile auszuwählen.

KevinCasey
quelle