Ein Editor ist ein Programm, mit dem Dateien gezielt verändert werden können. Am weitesten verbreitet sind Texteditoren, daneben existieren aber auch Audioeditoren zum Bearbeiten von Sounddateien oder Grafikeditoren zum pixelgenauen Verändern einer Bilddatei. Im Folgenden soll näher auf Texteditoren und ihre Besonderheiten eingegangen werden.
Texteditoren sind grundlegender Bestandteil aller Betriebssysteme und in der Regel in der Standardinstallation enthalten. Beim Betriebssystem Windows ist dies mit Notepad ein einfacher Texteditor mit grafischer Benutzeroberfläche. Apple liefert mit dem Programm TextEdit ebenfalls einen einfachen Texteditor für grundlegende Arbeiten mit Textdateien.
Linux und die verschiedenen BSD-Distributionen verfügen über eine Vielzahl grafischer Benutzeroberflächen, in deren Standardinstallationen eigene Editoren enthalten sind. Prinzipiell ist der Standardeditor einer Linuxdistribution frei wählbar.
Allerdings setzen die beiden großen Desktopumgebungen Gnome und KDE auf unterschiedliche Programmbibliotheken auf. Deshalb kann es aus Geschwindigkeitsgründen sinnvoll sein, unter KDE nur Editoren mit einer grafischen Oberfläche auf qt-Basis zu benutzen, wohingegen sich unter Gnome Editoren anbieten, die vom GTK+-Toolkit Gebrauch machen.
Darüber hinaus verfügt jedes Linux-Betriebssystem mit dem Programm nano über einen einfachen Texteditor, der nicht auf eine grafische Benutzeroberfläche angewiesen ist. So ist auch auf Systemen ohne laufenden XServer ein Editieren von Systemdateien möglich.
Texteditoren
Die Bedienung dieser Programme ist in der Regel recht einfach und schnell zu erlernen. Sie bieten grundlegende Möglichkeiten zur Texteingabe. Spezielle Formatierungen und die Möglichkeit, Tabellen und Grafiken einzubinden, sind im Gegensatz zu Textverarbeitungsprogrammen nicht vorgesehen. Bei reinen Texteditoren werden die Texterstellung und dessen Formatierung in der Regel getrennt.
Bei sogenannten WYSIWYG-Editoren (What you see ist what you get) wird diese Trennung teilweise wieder aufgehoben. WYSIWYG-Editoren verfügen in der Regel über ein Editier- und ein Vorschaufenster. Diese Editoren eignen sich für die Arbeit mit Auszeichnungssprachen wie HTML oder XML. Eine Reihe von Texteditoren kann mithilfe spezieller Plugins für eine bestimmte Aufgabe optimiert werden. So ist es möglich, verschiedene Editoren mit einer automatischen Rechtschreibprüfung oder Syntaxhervorhebung auszurüsten.
Für plattformunabhängige Aufgaben stellen einige Anbieter im Internet sogenannte Online-Editoren zur Verfügung. Diese bedürfen keiner Installation, sondern werden direkt aus dem Internetbrowser heraus ausgeführt. Teilweise verfügen diese Editoren ebenfalls über spezielle Features wie Rechtschreibprüfung oder Dokumentenstatistik.
Hexeditoren
Im Gegensatz zu allen anderen vorgestellten Editortypen dienen Hexeditoren nicht zum Verarbeiten von menschenlesbaren Dateien. Vielmehr ist mit ihnen die Bearbeitung einzelner Bytes von Binärdateien möglich. Hierzu werden die Bytes innerhalb des Editors als Hexadezimalzahlen angezeigt.
Die Bearbeitung von Dateien auf dieser sehr tiefen Ebene erlaubt Eingriffe, die mit gewöhnlichen Editoren nicht oder nur sehr schwer möglich sind. So können etwa beschädigte Dateien gelesen und gegebenenfalls wieder hergestellt werden. Im Zuge eines Reverse Engineering kann mit Hexeditoren versucht werden, die Struktur eines Dateiformates zu verstehen.
Programmiereditoren und integrierte Entwicklungsumgebungen
Zum Erstellen und Bearbeiten von Programmcode eignen sich einfache Texteditoren in der Regel nicht. Für diese Arbeiten stehen spezielle Programmiereditoren oder Integrierte Entwicklungsumgebungen (IDEs) zur Verfügung. Das wichtigste Merkmal eines Programmiereditors ist die sogenannte Syntaxhervorhebung (auch Syntaxhighlighting genannt). In Abhängigkeit der verwendeten Sprache werden bei diesem Verfahren die verwendeten Tags und Befehle farblich und strukturell hervorgehoben.
So bietet der Editor dem Benutzer einen deutlich verbesserten Strukturüberblick, und eventuelle Programmierfehler sind leichter zu entdecken. Integrierte Entwicklungsumgebungen (IDE, von engl. integrated development environment) sind noch stärker auf die Erstellung und Bearbeitung von Programmcode ausgelegt. Die weitaus meisten IDEs sind dabei auf die Benutzung mit einer einzigen Sprache ausgelegt. Kernstück einer IDE ist der eigentliche Texteditor zum Verfassen des Quellcodes. Ergänzt wird dieser in der Regel durch folgende Komponenten:
- Compiler – übersetzt den Programmcode in eine maschinenlesbare Form
- Linker – verbindet die einzelnen Programmmodule zu einem lauffähigen Programm
- Debugger – Werkzeug zum Auffinden von Programmfehlern
- Quelltextformatierer – sorgt für eine übersichtliche Struktur des Programmcodes
Emacs und vi – Mächtige Profieditoren
Emacs ist ein 1976 von Richard Stallman entwickelter Editor, der über eine ganze Reihe von Betriebsarten verfügt. So kann er nicht nur für verschiedene Programmier- und Auszeichnungssprachen eine Syntaxhervorhebung durchführen, sondern auch Syntaxüberprüfungen vornehmen. Neben dem Editormodul verfügt Emacs über einen eigenen Mail- und Newsreader, einen Webbrowser und einen FTP-Client.
Darüber hinaus kann Emacs mithilfe verschiedener Plugins fast jede denkbare Aufgabe übernehmen. Scherzhaft wird vom Emacs manchmal auch als eigenem Betriebssystem gesprochen. Die Vorteile des Emacs liegen in der konsequenten Umsetzung seines Bedienkonzeptes und einer hervorragenden Dokumentation. Sein großer Funktionsumfang erfordert allerdings eine intensive Einarbeitungszeit.
Das Tool vi wurde ebenfalls im Jahre 1976 von Bill Joy entwickelt und erfreut sich trotz seines Alters vor allem in der Unixwelt noch großer Beliebtheit. vi bietet einen ähnlich großen Funktionsumfang wie Emacs. Allerdings startet vi wesentlich schneller als sein Konkurrent und benötigt deutlich weniger Speicherplatz. Auf Rettungs- und Live-CDs gehört vi immer noch zu den Standardwerkzeugen zur Systemreparatur. Der ursprüngliche vi war ausschließlich für die Benutzung unter Unix-artigen Systemen gedacht, sodass mit der Zeit eine ganze Reihe von vi-Klonen entwickelt wurden, die auch auf anderen Betriebssystemen einsetzbar sind.
Zwischen den Benutzern der beiden letztgenannten Editoren besteht eine humorvolle Konkurrenz, in welcher der jeweils bevorzugte Editor in den höchsten Tönen gelobt, der andere jedoch für jedes vermeintlich fehlende Feature kritisiert wird. Skurrile Ausmaße nahm dieser sogenannte Editor War an, als Entwickler Richard Stallman (Initiator des GNU-Projektes) die Church of Emacs gründete und sich selbst zum heiligen St. IGNUcius ausrief. Die Anhänger des vi riefen daraufhin die Spaßreligion „cult of vi“ ins Leben.
Zusammenfassung
Editor Programme ermöglichen die gezielte Bearbeitung von Dateien und kommen in verschiedenen Varianten wie Text-, Audio- und Grafikeditoren vor. Texteditoren sind universell in Betriebssystemen integriert, mit Unterschieden in Bedienoberflächen und Funktionsumfang je nach Desktopumgebung und Systemplattform. Linux und BSD beispielsweise bieten eine breite Auswahl an Editoren, die an die jeweilige grafische Oberfläche angepasst sind.
Spezialisierte Varianten wie WYSIWYG-Editoren ermöglichen eine leichtere Arbeit mit Auszeichnungssprachen wie HTML, während Programmiereditoren und integrierte Entwicklungsumgebungen (IDEs) Features wie Syntaxhervorhebung bieten, um die Code-Bearbeitung zu optimieren. Online-Editoren, die direkt im Browser laufen, bieten plattformunabhängige Bearbeitungsmöglichkeiten.
Auf einer tieferen Ebene erlauben Hexeditoren die Manipulation einzelner Bytes von Binärdateien. Zwei prominente Texteditoren, Emacs und vi, verfügen über umfangreiche Funktionen und Plugins, wobei sie sich in Startgeschwindigkeit und Speicherbedarf unterscheiden. Beide haben eine große und teils humorvolle Fangemeinde, die sich in sogenannten „Editor Wars“ gegenseitig neckt.
Häufige Fragen und Antworten
Was ist ein Editor?
Ein Editor ist ein Programm, mit dem Dateien gezielt verändert werden können. Es gibt verschiedene Arten von Editoren wie Texteditoren, Audioeditoren und Grafikeditoren. Texteditoren sind grundlegender Bestandteil aller Betriebssysteme und zum Bearbeiten von Textdateien gedacht. Andere Editoren sind spezialisiert auf bestimmte Dateiformate wie Sounddateien oder Bilddateien.
Welche Arten von Texteditoren gibt es?
Es gibt verschiedene Arten von Texteditoren wie einfache Texteditoren, WYSIWYG-Editoren und Programmiereditoren. Einfache Texteditoren sind grundlegend in Betriebssysteme integriert und bieten grundlegende Funktionen zum Bearbeiten von Textdateien. WYSIWYG-Editoren ermöglichen das Bearbeiten von Textdateien mit Formatierungen und das Einfügen von Tabellen und Grafiken. Programmiereditoren sind speziell für die Bearbeitung von Programmcode ausgelegt und bieten Funktionen wie Syntaxhervorhebung und Codeformatierung.
Was sind Hexeditoren?
Hexeditoren sind Editoren, die dazu dienen, einzelne Bytes von Binärdateien zu bearbeiten. Diese Editoren zeigen die Bytes in hexadezimaler Form an und ermöglichen es, tiefgreifende Eingriffe in die Datenstruktur von Dateien vorzunehmen. Hexeditoren werden beispielsweise verwendet, um beschädigte Dateien zu reparieren oder beim Reverse Engineering die Struktur eines Dateiformats zu analysieren.