Texteditor - Text editor

Editoren wie Leafpad , hier gezeigt, sind oft in Betriebssystemen als Standard- Hilfsprogramm zum Öffnen von Textdateien enthalten.

Ein Texteditor ist eine Art Computerprogramm, das Klartext bearbeitet . Solche Programme werden manchmal als " Notepad "-Software bezeichnet, nach dem Namen von Microsoft Notepad . Texteditoren werden mit Betriebssystemen und Softwareentwicklungspaketen bereitgestellt und können verwendet werden, um Dateien wie Konfigurationsdateien , Dokumentationsdateien und Quellcode der Programmiersprache zu ändern .

Nur-Text vs. Rich-Text

Es gibt wichtige Unterschiede zwischen reinem Text (erstellt und bearbeitet von Texteditoren) und Rich Text (wie er von Textverarbeitungs- oder Desktop-Publishing-Software erstellt wurde ).

Klartext besteht ausschließlich aus Zeichendarstellung. Jedes Zeichen wird in Übereinstimmung mit bestimmten Zeichencodierungskonventionen wie ASCII , ISO/IEC 2022 , UTF durch eine Sequenz fester Länge von einem, zwei oder vier Bytes oder als eine Sequenz variabler Länge von einem bis vier Byte dargestellt -8 oder Unicode . Diese Konventionen definieren viele druckbare Zeichen, aber auch nicht druckbare Zeichen, die den Textfluss steuern, z. B. Leerzeichen , Zeilenumbruch und Seitenumbruch . Klartext enthält keine weiteren Informationen über den Text selbst, nicht einmal die verwendete Zeichencodierungskonvention. Klartext wird in Textdateien gespeichert , obwohl Textdateien nicht ausschließlich Klartext speichern. In den frühen Tagen der Computer wurde Klartext mit einer Monospace-Schrift angezeigt , sodass die horizontale Ausrichtung und die spaltenförmige Formatierung manchmal mit Leerzeichen erfolgten. Aus Kompatibilitätsgründen hat sich diese Tradition nicht geändert.

Rich-Text hingegen kann Metadaten, Zeichenformatierungsdaten (z. B. Schriftart, Größe, Gewicht und Stil ), Absatzformatierungsdaten (z. B. Einrückung, Ausrichtung, Buchstaben- und Wortverteilung und Abstände zwischen Zeilen oder anderen Absätzen) enthalten Seitenspezifikationsdaten (zB Größe, Rand und Leserichtung). Rich-Text kann sehr komplex sein. Rich Text kann im Binärformat (zB DOC ), Textdateien mit einer Auszeichnungssprache (zB RTF oder HTML ) oder in einer Mischform aus beidem (zB Office Open XML ) gespeichert werden .

Texteditoren sind dazu gedacht, Textdateien zu öffnen und zu speichern, die entweder reinen Text oder alles, was als reiner Text interpretiert werden kann, enthalten, einschließlich des Markups für Rich Text oder des Markups für etwas anderes (zB SVG ).

Geschichte

Eine Schachtel Lochkarten mit mehreren Programmdecks.

Bevor es Texteditoren gab, wurde Computertext mit Keypunch- Maschinen in Karten gestanzt . Physische Schachteln dieser dünnen Kartonkarten wurden dann in einen Kartenleser eingeführt. Magnetband- und Platten-"Karten-Image"-Dateien, die aus solchen Kartenstapeln erstellt wurden, hatten oft überhaupt keine Zeilentrennzeichen und nahmen Datensätze mit fester Länge von 80 Zeichen an. Eine Alternative zu Karten war gestanztes Papierband. Es könnte von einigen Fernschreibern (wie dem Teletype) erstellt werden, die Sonderzeichen verwenden, um das Ende von Datensätzen anzuzeigen.

Die ersten Texteditoren waren „line - Editoren“ orientiert teleprinter- oder Schreibmaschine -Stil Terminals ohne Displays. Befehle (oft ein einzelner Tastendruck) bewirkten Bearbeitungen an einer Datei an einem imaginären Einfügepunkt, der als "Cursor" bezeichnet wird. Änderungen wurden überprüft, indem ein Befehl eingegeben wurde, um einen kleinen Abschnitt der Datei zu drucken, und in regelmäßigen Abständen, indem die gesamte Datei gedruckt wurde. In einigen Linie Editoren könnte der Cursor durch Befehle verschoben werden , dass die Zeilennummer in der Datei, Text angegebenen Strings (Kontext) , für die, und schließlich suchen regulären Ausdrücken . Zeileneditoren waren wichtige Verbesserungen gegenüber dem Keystanzen. Einige Zeileneditoren können per Tastendruck verwendet werden; Bearbeitungsbefehle könnten aus einem Kartenspiel entnommen und auf eine bestimmte Datei angewendet werden. Einige gängige Zeileneditoren unterstützten einen "Verify"-Modus, in dem Änderungsbefehle die geänderten Zeilen anzeigten.

Als Computerterminals mit Videobildschirmen verfügbar wurden, wurden bildschirmbasierte Texteditoren (manchmal nur "Bildschirmeditoren" genannt) üblich. Einer der frühesten Vollbild-Editoren war O26 , der 1967 für die Bedienerkonsole der Computer der CDC 6000-Serie geschrieben wurde. Ein weiterer früher Vollbild-Editor war vi . Es wurde in den 1970er Jahren geschrieben und ist immer noch ein Standardeditor für Unix- und Linux- Betriebssysteme. Ebenfalls in den 1970er Jahren geschrieben wurde der UCSD Pascal Screen Oriented Editor, der sowohl für eingerückten Quellcode als auch für allgemeinen Text optimiert wurde. Emacs , eines der ersten freien und Open-Source-Softwareprojekte , ist ein weiterer früher Vollbild- oder Echtzeit-Editor, der auf viele Systeme portiert wurde . Die Benutzerfreundlichkeit und Geschwindigkeit eines Vollbild-Editors (im Vergleich zu den zeilenbasierten Editoren) motivierte viele frühe Käufe von Videoterminals.

Die Kerndatenstruktur in einem Texteditor verwaltet die Zeichenfolge (Zeichenfolge) oder die Liste von Datensätzen , die den aktuellen Status der bearbeiteten Datei darstellen. Während erstere in einem einzigen langen aufeinanderfolgenden gespeichert werden könnte Array von Zeichen, der Wunsch nach Texteditoren , das könnte schnellen Text einfügen, löschen Sie Text, und Undo / Redo zur Entwicklung führten frühere Bearbeitungen von komplizierteren Sequenzdatenstrukturen. Ein typisches Texteditor verwendet einen Spaltpuffer , eine verknüpfte Liste von Linien (wie in Paperclip ), einen Stücktisch oder ein Seil , wie seine Sequenzdatenstruktur.

Arten von Texteditoren

Emacs, ein bei Programmierern beliebter Texteditor, der unter Microsoft Windows läuft
gedit ist ein mit GNOME gelieferter Texteditor

Einige Texteditoren sind klein und einfach, während andere umfangreiche und komplexe Funktionen bieten. Zum Beispiel, Unix und Unix-ähnlichen Betriebssysteme hat den pico - Editor (oder eine Variante), aber viele auch die vi und Emacs - Editoren. Microsoft Windows- Systeme werden mit dem einfachen Notepad geliefert , obwohl viele Leute – insbesondere Programmierer – andere Editoren mit mehr Funktionen bevorzugen . Unter Apple Mac ‚s klassischem Mac OS gab es den native Simpletext , der in ersetzt wurde Mac OS X von TextEdit , die kombiniert mit denen einen Texteditor verfügt über typisch für ein Textverarbeitungsprogramm wie Lineale, Margen und mehrere Schriftauswahl. Diese Funktionen sind nicht gleichzeitig verfügbar, sondern müssen durch einen Benutzerbefehl oder durch das Programm, das den Dateityp automatisch bestimmt, umgeschaltet werden .

Die meisten Textverarbeitungsprogramme können Dateien im Nur-Text-Format lesen und schreiben, sodass sie in Texteditoren gespeicherte Dateien öffnen können. Um diese Dateien von einem Textverarbeitungsprogramm zu speichern, muss jedoch sichergestellt werden, dass die Datei im Nur-Text- Format geschrieben ist und dass keine Textcodierung oder BOM- Einstellungen die Datei für den beabsichtigten Zweck verdecken. Nicht- WYSIWYG- Textverarbeitungsprogramme wie WordStar lassen sich leichter als Texteditoren einsetzen und wurden in den 1980er Jahren häufig als solche verwendet. Das Standard - Dateiformat dieser Textverarbeitungsprogramme ähnelt oft eine Auszeichnungssprache, mit dem Basisformat erreicht Klartext und visuelle Formatierung ist nicht-Druck mit Steuerzeichen oder Escape - Sequenzen . Spätere Textverarbeitungsprogramme wie Microsoft Word speichern ihre Dateien in einem Binärformat und werden fast nie zum Bearbeiten von Nur-Text-Dateien verwendet.

Einige Texteditoren können ungewöhnlich große Dateien wie Protokolldateien oder eine ganze Datenbank in einer einzigen Datei bearbeiten . Einfachere Texteditoren können nur Dateien in den Hauptspeicher des Computers einlesen . Bei größeren Dateien kann dies ein langsamer Vorgang sein und die gesamte Datei passt möglicherweise nicht. Einige Texteditoren lassen den Benutzer nicht mit der Bearbeitung beginnen, bis dieses Einlesen abgeschlossen ist. Auch bei nicht spezialisierten Editoren leidet häufig die Bearbeitungsleistung, da der Editor Sekunden oder sogar Minuten braucht, um auf Tastenanschläge oder Navigationsbefehle zu reagieren. Spezialisierte Editoren haben Optimierungen wie das Speichern des sichtbaren Teils großer Dateien im Speicher, wodurch die Bearbeitungsleistung verbessert wird.

Einige Editoren sind programmierbar, dh sie können zB für bestimmte Anwendungen angepasst werden. Mit einem programmierbaren Editor ist es einfach, sich wiederholende Aufgaben zu automatisieren oder neue Funktionalitäten hinzuzufügen oder sogar eine neue Anwendung im Rahmen des Editors zu implementieren. Ein übliches Motiv für die Anpassung besteht darin, einen Texteditor dazu zu bringen, die Befehle eines anderen Texteditors zu verwenden, mit dem der Benutzer vertrauter ist, oder fehlende Funktionen zu duplizieren, von denen der Benutzer abhängig geworden ist. Softwareentwickler verwenden häufig Editoranpassungen, die auf die Programmiersprache oder Entwicklungsumgebung, in der sie arbeiten, zugeschnitten sind. Die Programmierbarkeit einiger Texteditoren beschränkt sich auf die Verbesserung der Kernbearbeitungsfunktionen des Programms, aber Emacs kann weit über die Bearbeitung von Textdateien hinaus erweitert werden – für das Web Browsing, Lesen von E-Mails, Online-Chat, Verwalten von Dateien oder Spielen von Spielen und wird oft als eine Lisp-Ausführungsumgebung mit einer Textbenutzeroberfläche angesehen . Emacs kann sogar so programmiert werden, dass es Vi emuliert , seinen Rivalen in den traditionellen Editorkriegen der Unix-Kultur .

Eine wichtige Gruppe programmierbarer Editoren verwendet REXX als Skriptsprache. Diese "orthodoxen Editoren" enthalten eine "Befehlszeile", in die Befehle und Makros eingegeben werden können, und Textzeilen, in die Zeilenbefehle und Makros eingegeben werden können. Die meisten dieser Editoren sind Derivate von ISPF/PDF EDIT oder von XEDIT , dem Flaggschiff-Editor von IBM für VM/SP bis z/VM . Darunter sind THE , KEDIT , X2, Uni-edit und SEDIT .

Ein Texteditor, der für eine bestimmte Verwendung geschrieben oder angepasst wurde, kann bestimmen, was der Benutzer bearbeitet, und den Benutzer unterstützen, häufig durch Ausfüllen von Programmierbegriffen und Anzeigen von Tooltips mit relevanter Dokumentation. Viele Texteditoren für Softwareentwickler bieten eine Hervorhebung der Quellcode- Syntax und eine automatische Einrückung , um das Lesen und Schreiben von Programmen zu erleichtern. Programmiereditoren lassen den Benutzer oft den Namen einer Include-Datei , Funktion oder Variable auswählen und dann zu ihrer Definition springen. Einige ermöglichen auch eine einfache Navigation zurück zum ursprünglichen Codeabschnitt, indem die anfängliche Cursorposition gespeichert oder die angeforderte Definition in einem Popup-Fenster oder einem temporären Puffer angezeigt wird . Einige Editoren implementieren diese Fähigkeit selbst, aber oft wird ein Hilfsprogramm wie ctags verwendet, um die Definitionen zu finden.

Typische Funktionen

  • Suchen und Ersetzen – Texteditoren bieten umfangreiche Möglichkeiten zum Suchen und Ersetzen von Text, entweder in Dateigruppen oder interaktiv. Fortgeschrittene Editoren können reguläre Ausdrücke verwenden , um Text oder Code zu suchen und zu bearbeiten.
  • Ausschneiden, kopieren und einfügen – die meisten Texteditoren bieten Methoden zum Duplizieren und Verschieben von Text innerhalb der Datei oder zwischen Dateien.
  • Fähigkeit, UTF-8- kodierten Text zu verarbeiten.
  • Textformatierung – Texteditoren bieten oft grundlegende visuelle Formatierungsfunktionen wie Zeilenumbruch , automatische Einrückung , Aufzählungsformatierung mit ASCII- Zeichen, Kommentarformatierung , Syntaxhervorhebung und so weiter. Diese dienen normalerweise nur zur Anzeige und fügen keine Formatierungscodes in die Datei selbst ein.
  • Rückgängig machen und wiederherstellen – Wie bei Textverarbeitungsprogrammen bieten Texteditoren die Möglichkeit, die letzte Bearbeitung oder mehr rückgängig zu machen und zu wiederholen. Oftmals – insbesondere bei älteren Texteditoren – wird nur eine Bearbeitungshistorie-Ebene gespeichert, und das sukzessive Ausgeben des Rückgängig-Befehls "toggle" nur die letzte Änderung. Moderne oder komplexere Editoren bieten normalerweise einen mehrstufigen Verlauf, so dass das wiederholte Ausführen des Rückgängig-Befehls das Dokument auf sukzessive ältere Bearbeitungen zurücksetzt. Ein separater Wiederholungsbefehl führt die Bearbeitungen "vorwärts" zu den neuesten Änderungen. Die Anzahl der gespeicherten Änderungen hängt vom Editor ab und ist oft vom Benutzer konfigurierbar.

Erweiterte Funktionen

  • Makro- oder Prozedurdefinition: um neue Befehle oder Funktionen als Kombinationen früherer Befehle oder anderer Makros zu definieren, möglicherweise mit übergebenen Parametern oder mit Verschachtelung von Makros.
  • Profile zum Beibehalten von Optionen, die vom Benutzer zwischen der Bearbeitungssitzung festgelegt wurden.
  • Profilmakros mit Namen, die zB in Umgebung, Profil angegeben sind, werden automatisch zu Beginn einer Editiersitzung oder beim Öffnen einer neuen Datei ausgeführt.
  • Bearbeiten mehrerer Dateien: die Möglichkeit, mehrere Dateien während einer Bearbeitungssitzung zu bearbeiten, möglicherweise den aktuellen Zeilencursor jeder Datei zu merken, wiederholten Text in jede Datei einzufügen, Text zwischen Dateien zu kopieren oder zu verschieben, Dateien nebeneinander zu vergleichen (vielleicht mit einer gekachelten Schnittstelle für mehrere Dokumente ) usw.
  • Multi-View-Editoren: die Möglichkeit, mehrere Ansichten derselben Datei mit unabhängiger Cursorverfolgung anzuzeigen, Änderungen zwischen den Fenstern zu synchronisieren, aber die gleichen Funktionen bereitzustellen, die für unabhängige Dateien verfügbar sind.
  • Zusammenklappen/Erweitern, auch Falten genannt : Die Möglichkeit, Textabschnitte vorübergehend aus der Ansicht auszuschließen. Dies kann entweder auf einem Bereich von Zeilennummern oder auf einem syntaktischen Element basieren, zB alles zwischen einem BEGIN ausschließen; und das passende ENDE; .
  • Spaltenbasierte Bearbeitung; die Möglichkeit, Daten in einer bestimmten Spalte zu ändern oder einzufügen oder Daten in bestimmte Spalten zu verschieben.
  • Datentransformation – Lesen oder Zusammenführen des Inhalts einer anderen Textdatei in die aktuell bearbeitete Datei. Einige Texteditoren bieten eine Möglichkeit, die Ausgabe eines Befehls einzufügen, der an die Shell des Betriebssystems ausgegeben wird . Außerdem könnte eine Funktion zur Groß-/Kleinschreibung in Klein- oder Großbuchstaben übersetzt werden.
  • Filtern – Einige erweiterte Texteditoren ermöglichen dem Editor, alle oder Abschnitte der zu bearbeitenden Datei an ein anderes Dienstprogramm zu senden und das Ergebnis anstelle der "gefilterten" Zeilen wieder in die Datei einzulesen. Dies ist beispielsweise nützlich, um eine Reihe von Zeilen alphabetisch oder numerisch zu sortieren, mathematische Berechnungen durchzuführen, Quellcode einzurücken und so weiter.
  • Syntaxhervorhebung – hebt Quellcode , Auszeichnungssprachen , Konfigurationsdateien und anderen Text kontextbezogen hervor , der in einem organisierten oder vorhersehbaren Format angezeigt wird. Editoren ermöglichen es Benutzern im Allgemeinen, die Farben oder Stile, die für jedes Sprachelement verwendet werden, anzupassen. Einige Texteditoren können Benutzer auch installieren und zu verwenden Themen , die sich ändern Look and Feel der gesamten Redakteur Benutzeroberfläche .
  • Dehnfähigkeit - ein Texteditor für den Gebrauch durch Programmierer müssen einige bieten Plugin - Mechanismus, oder sein skriptfähig , so dass ein Programmierer den Editor mit Funktionen benötigten anpassen kann , um einzelne Software - Projekte zu verwalten, anpassen Funktionalität oder Tastenbelegungen für bestimmte Programmiersprachen oder Versionskontrollsysteme, oder bestimmten Codierungsstilen entsprechen .

Fachredakteure

Einige Editoren enthalten spezielle Features und Zusatzfunktionen, z.

  • Quellcode-Editoren sind Texteditoren mit zusätzlichen Funktionen, die die Erstellung von Quellcode erleichtern. Diese verfügen oft vom Benutzer programmierbaren Syntax - Hervorhebung und Code - Navigationsfunktionen sowie Codierungs - Tools oder Tastatur - Makros ähnlich einen HTML - Editor (siehe unten).
  • Faltredakteure . Diese Unterklasse enthält sogenannte "orthodoxe Editoren", die Derivate von Xedit sind. Editoren, die das Falten ohne programmspezifische Funktionen implementieren, werden normalerweise als Outliner bezeichnet (siehe unten).
  • IDEs (integrierte Entwicklungsumgebungen) wurden entwickelt, um große Programmierprojekte zu verwalten und zu rationalisieren. Sie werden normalerweise nur zur Programmierung verwendet, da sie viele Funktionen enthalten, die für die einfache Textbearbeitung nicht erforderlich sind.
  • Autoren des World Wide Web werden eine Vielzahl von HTML - Editoren angeboten , die sich der Aufgabe widmen , Webseiten zu erstellen . Dazu gehören: Dreamweaver , Kompozer und E Text Editor . Viele bieten die Möglichkeit, eine laufende Arbeit auf einer integrierten HTML-Rendering-Engine oder einem Standard- Webbrowser anzuzeigen .
  • Die meisten Webentwicklungen werden in einer dynamischen Programmiersprache wie Ruby oder PHP mit einem Quellcode-Editor oder einer IDE durchgeführt. Das von allen außer den einfachsten statischen Websites gelieferte HTML wird als einzelne Vorlagendateien gespeichert , die von der die Site steuernden Software zusammengestellt werden und kein vollständiges HTML-Dokument bilden.
  • Mathematiker, Physiker und Informatiker erstellen häufig Artikel und Bücher mit TeX oder LaTeX in Klartextdateien. Solche Dokumente werden oft mit einem Standard-Texteditor erstellt, aber manche Leute verwenden spezialisierte TeX-Editoren .
  • Umrisse . Auch baumbasierte Editoren genannt, da sie einen hierarchischen Gliederungsbaum mit einem Texteditor kombinieren. Das Falten (siehe oben) kann als eine spezielle Form des Umreißens angesehen werden.
  • Kollaborative Editoren ermöglichen es mehreren Benutzern, gleichzeitig von entfernten Standorten aus über ein Netzwerk an demselben Dokument zu arbeiten. Die von einzelnen Benutzern vorgenommenen Änderungen werden nachverfolgt und automatisch in das Dokument eingefügt, um widersprüchliche Bearbeitungen auszuschließen. Diese Redakteure enthalten in der Regel auch eine Online-Chat- Komponente für die Diskussion unter den Redakteuren.
  • Ablenkungsfreie Editoren bieten eine minimalistische Benutzeroberfläche mit dem Ziel, den Schreiber vom Rest der Anwendungen und des Betriebssystems zu isolieren, sodass er sich auf das Schreiben konzentrieren kann, ohne von Benutzeroberflächenelementen wie einer Symbolleiste oder einem Benachrichtigungsbereich abgelenkt zu werden .

Programmierbare Editoren können normalerweise erweitert werden, um eine oder alle dieser Funktionen auszuführen, aber einfachere Editoren konzentrieren sich auf nur eine oder zielen wie gPHPedit auf eine einzige Programmiersprache ab.

Siehe auch

Anmerkungen

Verweise

Externe Links