»Der springende Punkt ist,
ob man Autorität hat
oder eine Autorität ist.«
– Erich Fromm
10 Die Editoren
In diesem Kapitel zeigen wir Ihnen, wie Sie sich die Arbeit bei der im nächsten Kapitel besprochenen Shellskriptprogrammierung sowie bei der Systemkonfiguration maßgeblich erleichtern. Denn genau hierbei unterstützt Sie ein Text-Editor, also ein Programm, in das man Text eingibt und mit dem man diesen dann als Datei abspeichern kann.
Unter Unix schreibt man nicht nur Shellskripte im Editor, sondern wickelt nahezu die gesamte Systemkonfiguration über Editoren ab, denn anders als unter grafischen Systemen wie Windows erfolgt die Konfiguration hier nicht mit der Maus, sondern zu fast 100 % über Konfigurationsdateien. Um ein System richtig zu konfigurieren, benötigen Sie folglich einen Editor sowie das Know-how, um diesen zu bedienen. Außerdem müssen Sie den Aufbau jeder einzelnen Konfigurationsdatei undihrederen Syntax kennen. [Fn. Das hört sich schlimmer an, als es ist: Die Softwareentwickler achten natürlich darauf, eine möglichst einheitliche Syntax für die Konfigurationsdateien zu implementieren.]
Neben dem historisch sicherlich wertvollen ed-Editor, mit dem wir Sie aber erst gegen Ende des Kapitels quälen, gibt es noch einige gute und daher äußerst beliebte Editoren.
vi, Emacs
Zum einen ist da der vi-Editor. Er steht eigentlich auf jedem Unix-System zur Verfügung. Beherrscht man ihn, kann man unter jedem Unix Konfigurationen abwickeln. Zum anderen stellen wir den Editor Emacs [Fn. Editor MACroS] vor. Er ist nicht überall verfügbar, besitzt aber einige besondere Features, etwa die Möglichkeit, in der Programmiersprache Lisp verfasste Skripte zu verwenden.
[»]Beide Editoren haben ihre Anhänger, die jeweils davon überzeugt sind, dass ihr Editor
der beste sei. Doch das ist, wie so vieles im Leben, Ansichtssache.
10.1 Anforderungen an Editoren
Syntax-Highlighting
Heutzutage stellen die Anwender eines Editors schon etwas höhere Anforderungen an dessen Funktionsumfang, als es noch vor einigen Jahrzehnten der Fall war. Ein guter Editor sollte das Highlighting von Klammer-Paaren beherrschen (also die Fähigkeit, eine geschlossene Klammerung aufblinken zu lassen, wenn man sie mit dem Cursor anvisiert) und vor allen Dingen Syntax-Highlighting. Dabei handelt es sich um Funktionalität, die es ermöglicht, bestimmte Schlüsselwörter und Operatoren von Programmiersprachen (farbig) hervorzuheben, um die Programmierung zu vereinfachen. Dabei können Integer-Werte von Strings und Gleitkommazahlen oder Funktionen von Schlüsselwörtern auch visuell unterschieden werden. Heutige Editoren unterstützen oftmals eine Vielzahl von Sprachen in dieser Funktionalität. Besonders häufig unterstützt werden folgende: [Fn. Für unsere ganz smarten Leser sei angemerkt, dass natürlich nicht jede der folgenden »Sprachen« (etwa XML) auch der Definition einer Programmiersprache entspricht.]
- Assembler (speziell GNU-Assembler)
- C und C++
- Fortran
- Tcl
- Java
- Lua
- Common Lisp, Scheme und diverse weitere Lisp-Dialekte
- Perl
- Ruby
- Python
- JavaScript
- SQL
- PHP
- (X)HTML, XML
- LaTeX
- Bourne-Shell und häufig auch C-Shell
Mit Sprachen (und das gilt insbesondere für funktionale Sprachen) wie den folgenden ist man
schon wesentlich schlechter dran, was oftmals am geringen Verbreitungsgrad der Sprachen
unter Linux liegt:
- Prolog
- Haskell
- Smalltalk
- Erlang
- Eiffel
- Pascal
- BASIC
- viele unbekanntere Sprachen
Multiple Document Editing
Umfangreiche Softwareprojekte oder auf mehrere Dateien verteilte Dokumente werden wiederum durch die Unterstützung von Multiple Document Editing, also durch die Übersicht über alle Dateien in einem Editorfenster (wobei sich jeweils eine Datei zur aktuellen Bearbeitung auswählen lässt) sehr viel übersichtlicher.
Multilevel Undo/Redo
Oftmals müssen auch bereits vollzogene Änderungen im Text wieder verworfen werden. Einige Editoren sind allerdings nur in der Lage, die allerletzte Änderung rückgängig zu machen. Abhilfe schafft Multilevel Undo/Redo. Diese Technik erlaubt es Ihnen, mehrere Schritte der Textveränderung rückgängig zu machen oder wiederherzustellen.
Weitere nützliche Funktionen sind das Finden und Ersetzen von Textstellen, eine Rechtschreibprüfung, aber auch die Möglichkeit, Dokumente zu drucken. Ferner stellen auch Remote-Editieren (beispielsweise über FTP-Server) oder die Unterstützung für Versionskontrollsysteme wie Subversion (SVN) oder Git interessante und manchmal nützliche Features dar.
Generell unterscheidet man zwischen zwei Arten von Editoren: den zeilen- und den bildschirmorientierten. Zeilenorientierte Editoren wie etwa der ed zeigen Ihnen immer die Zeile an, die aktuell bearbeitet wird. Mittels eher umständlicher Kommandos kann dann eine höhere oder tiefere Zeile dargestellt werden. Bildschirmorientierte Editoren wie der vi nutzen den ganzen Bildschirm bzw. das ganze Terminalfenster zur Anzeige des Inhalts der Textdatei. Sie sehen also mehrere Zeilen (so viele, wie gerade auf den Bildschirm passen) gleichzeitig, was die Bedienung eines solchen Editors bequemer gestaltet.
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.