Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Einführung
2 Mathematische und technische Grundlagen
3 Hardware
4 Netzwerkgrundlagen
5 Betriebssystemgrundlagen
6 Windows
7 Linux
8 Mac OS X
9 Grundlagen der Programmierung
10 Konzepte der Programmierung
11 Software-Engineering
12 Datenbanken
13 Server für Webanwendungen
14 Weitere Internet-Serverdienste
15 XML
16 Weitere Datei- und Datenformate
17 Webseitenerstellung mit (X)HTML und CSS
18 Webserveranwendungen
19 JavaScript und Ajax
20 Computer- und Netzwerksicherheit
A Glossar
B Zweisprachige Wortliste
C Kommentiertes Literatur- und Linkverzeichnis
Stichwort

Buch bestellen
Ihre Meinung?

Spacer
IT-Handbuch für Fachinformatiker von Sascha Kersken
Der Ausbildungsbegleiter
Buch: IT-Handbuch für Fachinformatiker

IT-Handbuch für Fachinformatiker
Rheinwerk Computing
1216 S., 6., aktualisierte und erweiterte Auflage, geb.
34,90 Euro, ISBN 978-3-8362-2234-1
Pfeil 7 Linux
Pfeil 7.1 Arbeiten mit der Shell
Pfeil 7.1.1 Booten und Login
Pfeil 7.1.2 Virtuelle Terminals
Pfeil 7.1.3 Grundfunktionen der Shell
Pfeil 7.1.4 Hilfefunktionen
Pfeil 7.1.5 Pipes und Ein-/Ausgabeumleitung
Pfeil 7.1.6 Die wichtigsten Systembefehle
Pfeil 7.2 Konfigurations- und Administrationsaufgaben
Pfeil 7.2.1 Syslog und Log-Dateien
Pfeil 7.2.2 Programme automatisch starten
Pfeil 7.2.3 Software installieren
Pfeil 7.3 Automatisierung
Pfeil 7.3.1 Shell-Skripte
Pfeil 7.3.2 Weitere Hilfsmittel
Pfeil 7.4 Editoren
Pfeil 7.4.1 vi
Pfeil 7.4.2 Emacs
Pfeil 7.5 Grafische Benutzeroberflächen
Pfeil 7.5.1 Der X-Server
Pfeil 7.5.2 Desktops
Pfeil 7.6 Netzwerkkonfiguration unter Linux
Pfeil 7.6.1 Grundeinstellungen
Pfeil 7.6.2 TCP/IP-Dienstprogramme
Pfeil 7.6.3 Datei- und Druckserver unter Linux
Pfeil 7.7 Zusammenfassung

Rheinwerk Computing - Zum Seitenanfang

7.4 EditorenZur nächsten Überschrift

Es wurden in diesem Kapitel bereits einige Programme vorgestellt, mit deren Hilfe sich Textdateien manipulieren lassen. Allerdings wurde bisher noch keine Möglichkeit gezeigt, solche Dateien einzugeben oder zu bearbeiten. Die grafischen Oberflächen für Linux sind reichlich mit mausgesteuerten und fensterbasierten Editoren ausgestattet. Dennoch ist es nützlich, den Umgang mit einem klassischen Kommandozeileneditor zu beherrschen.

In diesem Abschnitt werden die entscheidenden Funktionen der beiden wichtigsten Editoren vorgestellt. Der vi (gesprochen: »wie ei«) ist der ursprüngliche Unix-Editor und steht deshalb in jeder beliebigen Unix-Umgebung zur Verfügung. Emacs wurde ursprünglich von Richard Stallman geschrieben und verfügt über eine Reihe komfortabler Fähigkeiten.


Rheinwerk Computing - Zum Seitenanfang

7.4.1 viZur nächsten ÜberschriftZur vorigen Überschrift

Der eigentliche vi-Texteditor wurde von Bill Joy an der UC Berkeley programmiert. Es gibt eine Reihe mehr oder weniger kompatibler Editoren, die die Funktionalität des ursprünglichen vi verbessern. Unter Linux kommt beispielsweise häufig Vim (ViImproved) von Bram Molenaar zum Einsatz.

Der vi-Texteditor wird durch die Eingabe von vi beziehungsweise vi Dateiname gestartet; bei modernen Distributionen ist vi in der Regel ein Symlink auf vim. Wenn Sie einen Dateinamen angeben, wird diese Datei zum Bearbeiten geöffnet beziehungsweise neu angelegt.

Nachdem der vi gestartet wurde, befindet er sich im Befehlsmodus. Hier können Sie in der untersten Zeile Befehle eingeben, die in der Regel aus einem oder zwei Buchstaben bestehen. Einige dieser Befehle wechseln in den Editiermodus, in dem Sie Text eingeben oder ändern können, andere dienen dem Verschieben, Löschen oder Kopieren von Text. Mit Esc wechseln Sie aus dem Editiermodus wieder zurück in den Befehlsmodus.

Anders als bei den meisten anderen Editoren werden Befehle also nicht durch spezielle Tastenkombinationen mit der Strg- oder Alt-Taste getätigt, sondern durch normale Tasten, solange Sie sich im Befehlsmodus befinden.

Im Folgenden werden jeweils genau die Tasten angegeben, die Sie auf der Tastatur drücken müssen – beispielsweise bedeutet A nicht, dass Sie ein großes A eingeben sollen, sondern dass die Taste A gedrückt werden soll. Ein großes A würde dagegen als ª + A angegeben. Wenn mehrere Tasten nacheinander gedrückt werden müssen, werden diese einfach der Reihe nach aufgeführt. Lediglich einige ganz eindeutige Sonderzeichen werden so aufgeführt, als seien sie einzelne Tasten – » bedeutet beispielsweise, dass Sie ª + 9 drücken müssen.

Bei einigen selteneren Sonderzeichen wird außerdem einmal erklärt, wie Sie sie eingeben können. Da der vi auch bei Mac OS X (siehe nächster Abschnitt) mitgeliefert wird und Sie Linux natürlich auch auf dem Macintosh installieren können, finden Sie die Tastenkombinationen für PC und Mac, falls diese sich unterscheiden.

Die wichtigste Taste im Befehlsmodus ist I – sie wechselt in den Einfügemodus, in dem Sie Text eingeben können. In diesem Modus können Sie sich grundsätzlich mit den Pfeiltasten durch den Text bewegen. Die Löschtasten funktionieren dagegen je nach Terminal nicht immer. Statt mit I gelangen Sie auch mit anderen Tasten in den Eingabemodus, die den Cursor unterschiedlich platzieren und gegebenenfalls Text ersetzen: A startet die Eingabe hinter der Cursorposition. O fügt unter der Cursorposition zunächst eine neue Zeile ein, während ª + O zunächst die aktuelle Zeile nach unten verschiebt. CW ersetzt das nächste Wort und CC die aktuelle Zeile. Ersetzen heißt in diesem Fall, dass der jeweilige Text vor der Aktivierung des Eingabemodus entfernt wird.

Im Befehlsmodus können Sie sich mit folgenden Tasten schrittweise durch den Text bewegen: H nach links, J nach unten, K nach oben und L nach rechts. Wie Sie sehen, liegen diese vier Tasten nebeneinander, was ihre Verwendung sehr bequem macht. In den meisten Terminalemulationen funktionieren zwar auch die Pfeiltasten, aber allgemein kompatibel sind nur diese vier Buchstabentasten.

Den meisten Befehlen können Sie eine Zahl voranstellen, um sie mehrmals auszuführen. Beispielsweise geht 3H um drei Schritte nach links und 4J um vier Zeilen nach unten. C3W entfernt drei Wörter und schaltet dann den Eingabemodus ein.

W bewegt den Cursor um ein Wort nach rechts; B um ein Wort nach links. Auch diese Tasten lassen sich mit einer Zahl kombinieren, um mehrere Wörter weiter- beziehungsweise zurückzugehen.

0 (Null) springt zum Zeilenanfang; $ (ª + 4) zum Zeilenende. Runde Klammern dienen dem Bewegen zwischen Sätzen: Beispielsweise bewegt ª + 8 sich zum Anfang des vorigen Satzes oder ª + 9 zum nächsten. Geschweifte Klammern – { und } – springen zum Anfang des nächsten beziehungsweise des vorigen Absatzes. Auf einem PC werden sie mithilfe der Tastenkombinationen Alt_Gr + 7 beziehungsweise Alt_Gr + 0 erzeugt, auf dem Mac mithilfe vonAlt + 8 beziehungsweise Alt + 9.

Eine Zahl mit einem Pipe-Zeichen | (PC: Alt_Gr + <, Mac: Alt + 7) dahinter springt zum angegebenen Zeichen in der aktuellen Zeile: 7| bewegt sich beispielsweise zur Position 7. Hat eine Zeile weniger Zeichen als den Wert, den Sie angeben, dann bewegt sich der Cursor zum letzten Zeichen.

- bewegt den Cursor zum Anfang der vorigen Zeile, während + oder ¢ zum ersten Nicht-Leerzeichen in der nächsten Zeile springen.

Besonders angenehm sind die eingebauten Suchfunktionen, die Sie im Befehlsmodus durchführen können: / leitet einen regulären Ausdruck im grep-Format ein. Wenn Sie ¢ drücken, wird vorwärts danach gesucht. Der Cursor bewegt sich auf das erste Zeichen der Fundstelle. ? Suchmuster ¢ sucht rückwärts nach dem angegebenen beziehungsweise vorigen Muster. N sucht nach dem nächsten Vorkommen des aktuellen Suchmusters in der jeweiligen Suchrichtung; ª + N sucht dagegen in der anderen Richtung.

Beispielsweise sucht/ [0-9]¢ vorwärts nach der nächsten Ziffer; N sucht erneut danach. ?[a-z]¢ sucht rückwärts nach dem nächstgelegenen Kleinbuchstaben, ein anschließendes [N] sucht wiederum den vorherigen.

Die Befehle zum automatischen Suchen und Ersetzen beginnen mit einem :, weil es sich um Befehle des Zeileneditors ex handelt, auf dem vi basiert. Alle ex-Befehle werden mit ¢ abgeschlossen, deshalb ist es im Folgenden nicht aufgeführt. Mit :S/ Suchmuster / Ersatztext / ersetzen Sie das Suchmuster in der aktuellen Zeile durch den Ersatztext. Für globales Ersetzen im gesamten Text ist die etwas komplexere Form :%S/ Suchmuster / Ersatztext /G zuständig; die Option G steht hier für »global«. Verwenden Sie C als zusätzliche Option, wenn Sie aus Sicherheitsgründen jede einzelne Änderung bestätigen möchten. Statt des Prozentzeichens können Sie auch zwei durch Komma getrennte Zeilennummern angeben, um das Ersetzen auf den entsprechenden Bereich des Dokuments zu beschränken.

Für das Löschen im Befehlsmodus sind die folgenden Tasten und Tastenfolgen definiert: X löscht das aktuelle Zeichen, ª + X das Zeichen vor dem Cursor. DW löscht das ganze Wort, während DD die gesamte aktuelle Zeile entfernt. Wenn Sie beispielsweise drei Wörter löschen möchten, müssen Sie D3W eingeben, für vier Zeilen lautet die Eingabe dagegen D4D. Die Tastenkombination ª + D löscht den Text bis zum Ende der Zeile. P oder ª + P setzen den zuletzt gelöschten Text hinter beziehungsweise vor dem Cursor wieder ein. Der jeweilige Löschvorgang stellt den gelöschten Text nacheinander in nummerierte Löschpuffer. Mit 1P fügen Sie zum Beispiel den Text aus dem Löschpuffer Nummer 1 – dem ältesten – ein. Insgesamt existieren neun nummerierte Löschpuffer.

Wenn Sie Text kopieren möchten, können Sie Y (Abkürzung für »yank«) und ein Navigationskommando verwenden, beispielsweise YW für ein Wort oder Y5Y für fünf Zeilen. Der Text landet – genau wie beim Löschen – nacheinander in den nummerierten Puffern 1 bis 9 und kann durch die entsprechenden P-Sequenzen wieder eingefügt werden. Wenn Sie " drücken, dann einen Buchstaben von A bis Z und schließlich zweimal ª + Y, wird die aktuelle Zeile dagegen in einen von 26 benannten Puffern kopiert. Wird der Name des Puffers mit ª kombiniert (Großbuchstabe), dann wird der Inhalt des Puffers nicht überschrieben, sondern um die neu kopierte Zeile ergänzt. Mit ", dem Buchstaben eines benannten Puffers und P oder ª + P können Sie den Text des entsprechenden Puffers wieder einfügen.

Die Taste U macht den letzten Lösch-, Einfüge- oder Änderungsbefehl rückgängig. Beachten Sie, dass nur in Vim mehrere Schritte rückgängig gemacht werden können; beim klassischen vi ist lediglich ein Schritt möglich. ª + U stellt die gesamte zuletzt modifizierte Zeile wieder her, und der Punkt . wiederholt den letzten Editierbefehl beliebig oft.

Wichtig sind schließlich noch die Dateioperationen. Auch bei ihnen handelt es sich um ex-Befehle. Geben Sie :W Dateiname ein, um die aktuell bearbeitete Datei unter einem neuen Namen zu speichern; beachten Sie aber, dass Sie danach mit der alten Datei weiterarbeiten. :W! speichert sie nach erfolgten Änderungen erneut unter diesem Namen – das ! dient jeweils dem Umgehen von Schutzmaßnahmen. :R Dateiname öffnet die angegebene Datei und fügt ihren Inhalt an der aktuellen Cursorposition ein. :Q beendet den vi, aber nur, wenn die aktuelle Datei gespeichert wurde. :Q! erzwingt das Beenden und verwirft Änderungen. :X ist eine Kurzfassung für :WQ: Beide bedeuten, dass vi zuerst speichern soll und anschließend beendet werden soll.

Diese kurze Übersicht ermöglicht es Ihnen, sich grundsätzlich im vi zurechtzufinden und effizient Texte zu bearbeiten. In Wirklichkeit verfügt er über Unmengen weiterer Befehle, immerhin gibt es ganze Bücher über die Arbeit mit diesem Editor. Tabelle 7.4 zeigt eine Übersicht über die wichtigsten dieser Kommandos; zum Teil kamen diese nicht in der vorigen Beschreibung vor. Aber ob Sie nun mit der vorliegenden kurzen Anleitung oder mit einem umfangreichen Tutorial arbeiten – Geläufigkeit erreichen Sie nur, wenn Sie ständig üben.

Tabelle 7.4 Die wichtigsten vi-Kommandos im Überblick

Tastenkürzel/Befehl Bedeutung

Moduswechsel

I

Wechsel in den Eingabemodus an aktuelle Position

A

Wechsel in den Eingabemodus nach aktueller Position

ª + I

Wechsel in den Eingabemodus am Zeilenanfang

ª + A

Wechsel in den Eingabemodus am Zeilenende

O

Wechsel in den Eingabemodus unter aktuelle Zeile

ª + O

Wechsel in den Eingabemodus über aktuelle Zeile

Esc

Wechsel aus Eingabemodus in den Befehlsmodus

Navigation im Text

H

Cursor um ein Zeichen nach links bewegen

J

Cursor um ein Zeichen nach unten bewegen

K

Cursor um ein Zeichen nach oben bewegen

L

Cursor um ein Zeichen nach rechts bewegen

0 (Null, nicht O)

Cursor an den Zeilenanfang

ª + 4, d. h. $

Cursor ans Zeilenende

ª + 8, d. h. «

Cursor zum vorigen Satzanfang

ª + 9, d. h. »

Cursor zum nächsten Satzanfang

Alt_Gr + 7 (Windows) oder Alt + 8 (Mac),
d. h. {

Cursor zum vorigen Absatzanfang

Alt_Gr + 0 (Windows) oder Alt + 9 (Mac),
d. h. }

Cursor zum nächsten Absatzanfang

n Alt_Gr + < (Windows) bzw. n Alt + 7 (Mac), d. h. n |

Cursor zu Zeichen n in der aktuellen Zeile

-

Cursor zum Anfang der vorigen Zeile

+ oder ¢

Cursor zum ersten Nicht-Leerzeichen der nächsten Zeile

ª + H

Cursor zum Anfang der ersten sichtbaren Zeile

ª + M

Cursor zum Anfang der Zeile in der Bildschirmmitte

ª + L

Cursor zum Anfang der letzten sichtbaren Zeile

n ª + 5, d. h. n %

Cursor in die Zeile, die dem angegebenen prozentualen Anteil des Textes entspricht

W

Cursor ein Wort weiter (Satzzeichen als eigene Wörter)

ª + W

Cursor ein Wort weiter (inklusive Satzzeichen)

B

Cursor ein Wort zurück (Satzzeichen als eigene Wörter)

ª + B

Cursor ein Wort zurück (inklusive Satzzeichen)

E

Cursor zum nächsten Wortende

GE

Cursor zum vorigen Wortende

n G oder : n

Cursor in Zeile n

GG

Cursor an den Textanfang

ª + G

Cursor an den Anfang der letzten Zeile

n Tastenkürzel

Die angegebene Funktion n-mal ausführen
(z. B. 3H für drei Zeichen nach links; nicht nur für Navigation verfügbar)

Scrollen (Bildschirm bewegen, ohne den Cursor zu verschieben)

Strg + Y

eine Zeile nach oben scrollen

Strg + E

eine Zeile nach unten scrollen

Strg + U

einen halben Bildschirm nach oben scrollen

Strg + D

einen halben Bildschirm nach unten scrollen

Strg + B

einen ganzen Bildschirm nach oben scrollen

Strg + F

einen ganzen Bildschirm nach unten scrollen

ZZ

die Zeile mit dem Cursor in die Bildschirmmitte scrollen

ZT

die Zeile mit dem Cursor an den oberen Bildschirmrand scrollen

ZB

die Zeile mit dem Cursor an den unteren Bildschirmrand scrollen

Zeichen suchen

F Zeichen

erstes Vorkommen des angegebenen Zeichens in der aktuellen Zeile suchen

n F Zeichen

das n. Vorkommen des angegebenen Zeichens in der aktuellen Zeile suchen

ª + F Zeichen

rückwärts in der aktuellen Zeile nach dem angegebenen Zeichen

;

den vorherigen Suchbefehl wiederholen

,

den vorherigen Suchbefehl in die andere Richtung wiederholen

%

zwischen korrespondierenden Klammern (auch eckigen oder geschweiften) hin- und herspringen; mit Zähler völlig andere Bedeutung (siehe unter »Navigation«)

Volltextsuche und Ersetzen

/ RegExp ¢

vorwärts im Text nach dem angegebenen regulären Ausdruck suchen

? RegExp ¢

rückwärts im Text nach dem angegebenen regulären Ausdruck suchen

N

in die aktuelle Richtung erneut nach dem vorherigen regulären Ausdruck suchen

ª + N

in die entgegengesetzte Richtung erneut nach dem vorherigen regulären Ausdruck suchen

: wrapscan ¢

Suche darf Dokumentende/-anfang überschreiten (Standard).

: nowrapscan ¢

Suche darf Dokumentende/-anfang nicht mehr überschreiten.

: sethlsearch ¢

künftig alle gefundenen Ergebnisse hervorheben

: nohlsearch ¢

die aktuelle Hervorhebung ausblenden

: setnohlsearch ¢

die gefundenen Ergebnisse nicht mehr hervorheben

: setincsearch ¢

inkrementelle Suche – bereits während der Eingabe zu suchen beginnen

: setnoincsearch ¢

die inkrementelle Suche abschalten

:S/ Text1 / Text2
/¢

das nächste Vorkommen von Text1 in der aktuellen Zeile durch Text2 ersetzen

:S/ Text1 / Text2
/G¢

alle Vorkommen von Text1 in der aktuellen Zeile durch Text2 ersetzen

:%S/ Text1
/ Text2 /¢

das erste Vorkommen von Text1 in jeder Zeile durch Text2 ersetzen

:%S/ Text1
/ Text2 /G¢

alle Vorkommen von Text1 in jeder Zeile (d. h. alle Vorkommen im gesamten Text) durch Text2 ersetzen

:%S/ Text1
/ Text2 /GC¢

wie der vorherige Befehl, aber vor jedem einzelnen Ersetzungsvorgang nachfragen (die Option C steht auch für alle anderen Optionen zur Verfügung)

Sprungmarken

``

Sprung zur letzten Sprungmarke (Ergebnis einer Suche oder eines G-Sprungbefehls)

Strg + O

in der Liste der Sprungmarken schrittweise rückwärts blättern

Strg + I

in der Liste der Sprungmarken schrittweise vorwärts blättern

MA bis MZ

an der aktuellen Cursorposition eine der benannten Marken A bis Z einrichten

`A bis `Z

zu einer der benannten Marken A bis Z springen

'A bis 'Z

zum Anfang der jeweiligen Zeile springen, in der sich eine der benannten Marken A bis Z befindet

: marks ¢

Liste aller Marken ausgeben

Löschen, Kopieren und Einfügen

X

das Zeichen unter dem Cursor ausschneiden (löschen und in einem Puffer speichern)

ª + X

das Zeichen links neben dem Cursor ausschneiden

D Navigationsbefehl

Die dem Navigationsbefehl entsprechende Menge Text ausschneiden. D3H löscht beispielsweise drei Zeichen nach links.

DD

ganze Zeile ausschneiden

C Navigationsbefehl

wie D, aber anschließend in den Eingabemodus wechseln

CC

wie DD, aber anschließend in den Eingabemodus wechseln

Y Navigationsbefehl

die dem Navigationsbefehl entsprechende Menge Text in den Puffer kopieren (yank)

YY

ganze Zeile kopieren

P

den Text aus dem Puffer an der aktuellen Cursorposition einfügen

ª + P

den Text aus dem Puffer hinter der aktuellen Cursorposition einfügen

XP

das aktuelle und das folgende Zeichen vertauschen

Wiederholen, Rückgängigmachen, Wiederherstellen

U

den letzten Befehl rückgängig machen (in vi nur einmal, in Vim mehrmals möglich – auch mit Zähler)

Strg + R

den zuletzt rückgängig gemachten Befehl wiederherstellen (nur Vim)

.

den vorherigen Befehl wiederholen

Datei- und Fensterverwaltung

:W¢

die aktuelle Datei speichern

:W Neuer Name ¢

eine Kopie der aktuellen Datei unter NeuerName speichern; mit der aktuellen weiterarbeiten

: edit Dateiname ¢

das Editieren der aktuellen Datei beenden (muss gespeichert sein) und die angegebene laden

: edit ! Dateiname ¢

das Editieren der aktuellen Datei abbrechen (wird nicht gespeichert!) und die angegebene laden

: wedit Dateiname ¢

die aktuelle Datei automatisch speichern und schließen und die angegebene laden

: hide edit Dateiname ¢

die aktuelle Datei verbergen und die angegebene laden

: buffers ¢

nummerierte Liste aller Puffer (geöffneten Dateien)

: buffer Nummer ¢

zum Puffer mit der angegebenen Nummer wechseln

:Q

vi beenden (alle Dateien müssen gespeichert sein)

:Q!

Beenden von vi erzwingen (nicht gespeicherte Dateien werden verworfen)


Rheinwerk Computing - Zum Seitenanfang

7.4.2 EmacsZur vorigen Überschrift

Der Name Emacs steht für »Editor Macros«, weil er ursprünglich als Satz von Makrobefehlen für einen älteren Editor entworfen wurde. Inzwischen ist er ein eigenständiger Editor, der in vielen verschiedenen Varianten für etliche Plattformen verfügbar ist, nicht nur für alle erdenklichen Unix-Arten, sondern beispielsweise auch für Windows. Die Hauptentwicklungslinie ist der GNUEmacs, den Sie von der Website des GNU-Projekts (www.gnu.org) oder den zahlreichen weltweiten Mirror-Sites herunterladen können. Die aktuelle Hauptversion ist 23.x, was Ihnen einen Eindruck davon vermitteln mag, wie lange diese Software bereits existiert – das Programm ist ausgereift und sehr stabil. Daneben gibt es den sogenannten XEmacs, was ein wenig verwirrend ist, weil beide Varianten sowohl auf der Konsole als auch in einer grafischen X-Window-Oberfläche laufen.

Emacs verfügt über einen erheblich größeren Befehlsumfang als vi; es handelt sich letzten Endes nicht nur um einen Editor, sondern um einen vollwertigen Shell-Ersatz mit zusätzlichen Funktionen wie E-Mail, unzähligen Betriebsmodi für diverse Textsorten und sogar Spielen.

Die meisten Emacs-Befehle werden durch Tastenkombinationen mit Strg (auf englischen PC-Tastaturen und auf dem Mac Ctrl) oder Meta gebildet. Wenn Sie auf Ihre Tastatur schauen, werden Sie feststellen, dass Sie gar keine Meta-Taste haben; die gibt es nur an einigen alten Terminals und verschiedenen Unix-Workstations. In den meisten Terminalprogrammen oder in der GUI-Version von Emacs kann die Alt-Taste dafür verwendet werden. Einige Terminalemulationen bestehen dagegen darauf, dass Sie Meta-Tastenkombinationen durch Drücken der Taste Esc und anschließendes Betätigen der entsprechenden Kombinationstaste eingeben.

Die Emacs-Dokumentation verwendet eine etwas eigenwillige Schreibweise für die Tastenkombinationen. Diese Schreibweise wird hier kurz erläutert und anschließend verwendet, damit Sie sich nicht umzugewöhnen brauchen, wenn Sie die zahlreichen Hilfeseiten im Emacs selbst lesen. Strg-Tastenkombinationen werden durch »C-« (control), gefolgt von dem entsprechenden Zeichen, angegeben, beispielsweise steht C-x für Strg + X. Meta-Tastenkürzel werden dagegen mit vorangestelltem M- dargestellt. M-x bedeutet also je nach der Umgebung, in der Sie arbeiten, entweder Alt + X oder Esc gefolgt von X. Letzteres funktioniert übrigens immer.

Der Emacs wird durch Eingabe von emacs oder emacs Dateiname gestartet. Wenn Sie ihn nicht in einem GUI-Fenster, sondern in der aktuellen Konsole aufrufen möchten, lautet das Kommando emacs -nw [Dateiname]. Sie können mehrere Dateien auf einmal bearbeiten; die einzelnen Arbeitsbereiche für Dateien werden als Buffer bezeichnet. Falls Sie keinen Dateinamen angegeben haben, befinden Sie sich zunächst im Scratch-Buffer (Notizblock), der für ungespeicherte Notizen vorgesehen ist. Wenn Sie eine speicherbare Datei editieren möchten, müssen Sie diese zunächst mit C-x C-f Dateiname »besuchen« (die Original-Emacs-Dokumentation verwendet den Ausdruck »visit«). Falls diese Datei bereits existiert, wird sie geöffnet, ansonsten neu angelegt.

Wenn mehrere Buffer geöffnet sind, können Sie mithilfe der Tastenkombination C-x b Buffername ¢ zum Buffer mit dem angegebenen Namen wechseln (ohne Angabe eines Buffers wird reihum zum jeweils nächsten gewechselt). Eine Liste aller verfügbaren Buffer erhalten Sie mit C-x C-b in einem abgetrennten Bereich, der als Fenster bezeichnet wird. Mit C-x 2 können Sie ein solches Fenster selbst erzeugen; C-x 4 f Dateiname ¢ öffnet eine neue Datei in einem separaten Fenster. Mit C-xo wechseln Sie zwischen den beiden Fenstern hin und her. Mit M-C-v können Sie den Inhalt des Fensters scrollen, in dem Sie zurzeit nicht arbeiten. C-x 1 schließt das nicht aktive Fenster und behält nur das aktuelle.

Je nach Dateityp (den Emacs, ähnlich wie Windows, an der Dateiendung erkennt) befinden Sie sich in einem der verschiedenen Emacs-Arbeitsmodi, die vor allem Programmierern das Leben erleichtern. Einige der wichtigsten Modi sind Fundamental (der grundlegende Modus für einfachen Text), C (für die gleichnamige Programmiersprache) oder HTML (zum Editieren von Webseiten). Jeder dieser Modi verfügt über besondere Funktionen wie automatische Einrückung, Anzeigen der korrespondierenden Klammer beim Schließen oder Ähnliches.

Sie können den Modus auch manuell über M-x Modusname wechseln: M-x fundamental wechselt beispielsweise in den Fundamental Mode, M-x c-mode in den C-Modus oder M-x html-mode in den HTML-Modus. M-x Schlüsselwort dient allgemein der Eingabe eines Befehls in der Langform und muss jeweils mit ¢ abgeschlossen werden. Wenn Sie einfach M-x ¢ eingeben, wird eine Liste aller möglichen Befehle angeboten; alternativ können Sie auch einen oder mehrere Anfangsbuchstaben eines Befehls eintippen und erhalten dann eine Liste der passenden Befehle.

Der einzeilige Bereich am unteren Bildschirm- oder Fensterrand, in den Sie mit M-x gelangen, wird Minibuffer genannt. Sie können ihn durch dreimaliges Drücken von Esc wieder verlassen.

Zeichenweise durch den Text navigieren Sie mit den Pfeiltasten oder alternativ mit C-f (nach rechts, forward), C-b (nach links, backward), C-p (nach oben, previous line) und C-n (nach unten, next line). C-a bewegt den Cursor zum Zeilenbeginn und C-e zum Zeilenende. C-v scrollt um einen ganzen Bildschirm nach unten, M-v nach oben. M-f wandert um ein Wort nach rechts, M-b nach links. M-< springt zum Anfang der gesamten Datei, M-> (Alt + ª + <) zu ihrem Ende.

C-d löscht das Zeichen unter dem Cursor, während æ___ das vorherige Zeichen entfernt. M-d löscht das folgende Wort, M-æ___ das vorige. C-k tilgt den Bereich vom Cursor bis zum Ende der Zeile.

C-Leertaste setzt eine Markierung. Der markierte Bereich reicht automatisch von der gesetzten Markierung bis zur aktuellen Cursorposition. Um den gesamten Bereich zu löschen, genauer gesagt auszuschneiden, wird die Tastenkombination C-w verwendet. M-w kopiert den Bereich dagegen zum späteren Einfügen. In beiden Fällen können Sie ihn mithilfe von C-y wieder einfügen.

C-s leitet eine inkrementelle Suche ein – während der Eingabe des Suchbegriffs springt der Cursor zur jeweils nächstgelegenen Stelle, die diesem Begriff entspricht. Entsprechend sucht C-r rückwärts. C-s C-s wiederholt die letzte Suche. ¢ verlässt das Suchprogramm vollständig. M-C-s sucht nach einem regulären Ausdruck statt einer einfachen Zeichenfolge. Die Syntax der regulären Ausdrücke entspricht grep.

M-% ist der Befehl zum Suchen und Ersetzen. Zunächst wird nach der zu ersetzenden Zeichenfolge gefragt, anschließend nach dem Ersetzungstext. Die Eingabe beider Zeichenfolgen muss mit ¢ abgeschlossen werden. An jeder einzelnen Fundstelle werden Sie gefragt, ob Sie die Ersetzung durchführen möchten. Y oder Leertaste bedeutet ja, N oder Entf steht für nein, und ! heißt, dass alle künftigen Fundstellen ohne weitere Rückfrage ersetzt werden sollen.

Wenn Sie Ihre aktuelle Arbeit speichern möchten, verwenden Sie dazu den Befehl C-x C-s. C-x s speichert alle geänderten Buffer auf einmal. C-x C-w Dateiname ¢ sichert die Datei dagegen unter dem angegebenen neuen Namen. Mit C-x C-c beenden Sie Emacs. Vorher werden Sie gefragt, ob Sie die modifizierten Buffer speichern möchten.

Was bereits über den vi gesagt wurde, gilt für Emacs erst recht: Es gibt Unmengen weiterer Befehle, für die in diesem Buch leider kein Platz ist. Mit dem hier gebotenen Ausschnitt aus der Funktionsvielfalt von Emacs können Sie beliebige Textdateien bearbeiten. Mit etwas Übung werden Sie damit irgendwann schneller arbeiten können als mit einem grafisch orientierten Editor, in dem Sie oft zur Maus greifen müssen, um spezielle Befehle zu verwenden. Dennoch ist auch der Emacs mit einem umfangreichen Menü ausgestattet, solange er in einer GUI läuft. Da die Tastenkürzel jeweils neben den einzelnen Menübefehlen stehen, können Sie mithilfe des Menüs leicht neue Befehle erlernen.

Auch für Emacs folgt in Tabelle 7.5 eine etwas ausführlichere Kommandoliste.

Tabelle 7.5 Die wichtigsten Emacs-Kommandos im Überblick

Tastenkürzel/Befehl Bedeutung

Dateien, Buffer und Fenster

C-x C-f Dateiname

Die angegebene Datei laden (Emacs-Begriff visit). Falls sie noch nicht existiert, wird sie neu angelegt.

C-x C-v

den Namen der aktuellen Datei im Minibuffer anzeigen, um ihn zu editieren und die resultierende Datei zu laden/anzulegen

C-x i Dateiname

die angegebene Datei an der aktuellen Cursorposition in die derzeitige Datei einfügen

C-x b Buffername

zum Buffer mit dem angegebenen Namen wechseln

C-x k [Buffername]

den angegebenen bzw. den aktuellen Buffer schließen

C-x C-b

Liste aller derzeit geöffneten Buffer in separatem Fenster (Abschnitt)

e oder f

in der Bufferliste den aktiven Buffer im anderen Fenster öffnen

d

in der Bufferliste einen Buffer zum Löschen markieren

s

in der Bufferliste einen Buffer zum Speichern markieren

u

in der Bufferliste eine Markierung aufheben

x

in der Bufferliste alle markierten Lösch- und Speichervorgänge ausführen

C-x 2

ein zweites Fenster erzeugen

C-x 4 f Dateiname

die angegebene Datei in einem neuen Fenster öffnen/erstellen

C-x o

Wechsel zum jeweils anderen Fenster (auch in die Bufferliste)

C-x v

im jeweils anderen Fenster scrollen

C-x 1

Das nicht aktive Fenster schließen

Zähler

C-u n Befehl

den angegebenen Befehl so oft durchführen, wie durch die Anzahl n angegeben

M-n Befehl

den angegebenen Befehl so oft durchführen, wie durch die Anzahl n angegeben

Navigation im Text

C-f

Cursor um ein Zeichen nach rechts bewegen (forward)

C-b

Cursor um ein Zeichen nach links bewegen (backward)

C-p

Cursor um eine Zeile nach oben bewegen (previousline)

C-n

Cursor um eine Zeile nach unten bewegen (nextline)

M-b

Cursor um ein Wort nach rechts bewegen

M-f

Cursor um ein Wort nach links bewegen

C-a

Cursor zum Zeilenanfang bewegen

C-e

Cursor zum Zeilenende bewegen

M-a

Cursor zum vorigen Satzbeginn bewegen

M-e

Cursor zum nächsten Satzbeginn bewegen

C-v

um einen ganzen Bildschirm nach unten scrollen

M-v

um einen ganzen Bildschirm nach oben scrollen

M-<

Cursor zum Textanfang bewegen

M->

Cursor zum Textende bewegen

Löschen

C-d

das Zeichen unter dem Cursor löschen

Backspace

das Zeichen links vom Cursor löschen

M-d

das folgende Wort löschen

M-Backspace

das vorige Wort löschen

C-k

vom Cursor bis zum Ende der Zeile löschen

M-k

vom Cursor bis zum Satzende löschen

C-t

das aktuelle und das vorherige Zeichen vertauschen

Markieren, Kopieren und Einfügen

C-Leertaste

Markierung setzen

C-w

den Text von der Markierung bis zur aktuellen Cursorposition ausschneiden

M-w

den Text von der Markierung bis zur aktuellen Cursorposition kopieren

C-y

den zuletzt ausgeschnittenen oder kopierten Text an der aktuellen Cursorposition einfügen

M-y

durch die zuvor ausgeschnittenen oder kopierten Texte »blättern«, um den richtigen auszusuchen

Suchen und Ersetzen

C-s

inkrementelle Suche vorwärts einleiten

C-r

inkrementelle Suche rückwärts einleiten

C-s C-s

erneut nach dem vorherigen Suchbegriff suchen

Enter

den Suchmodus verlassen

M-C-s

nach einem regulären Ausdruck statt nach einem einfachen String suchen

M-%

interaktives Suchen und Ersetzen: Suchbegriff eingeben, Ersetzungsstring eingeben, für jede Stelle mit y oder Leertaste bestätigen, mit n oder Entf ablehnen, oder mit ! für alle Fundstellen bestätigen

Speichern und Beenden

C-x C-s

den aktuellen Buffer speichern

C-x s

alle Buffer (mit Nachfrage) speichern

C-x C-w Dateiname

die aktuelle Datei unter dem angegebenen neuen Namen speichern

C-x C-c

Emacs beenden (mit Nachfrage, ob die geänderten Buffer gespeichert werden sollen)

Abgesehen davon können Sie diesen Editor völlig frei konfigurieren. Zum einen können Sie die Tastenkürzel selbst frei belegen, zum anderen ist der Emacs beliebig erweiterbar: Er ist mit einer eigenen Variante der Programmiersprache LISP ausgestattet. Diese Sprache könnte Programmierer durch ihren eigenwilligen Ansatz abschrecken, sie ist aber speziell an die Funktionen von Emacs angepasst und erleichtert so das Programmieren von Zusatzfunktionen.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.

>> Zum Feedback-Formular
<< zurück




Copyright © Rheinwerk Verlag GmbH 2013
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de


  Zum Katalog
Zum Katalog: IT-Handbuch für Fachinformatiker






IT-Handbuch für Fachinformatiker
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Java ist auch eine Insel






 Java ist auch
 eine Insel


Zum Katalog: Linux Handbuch






 Linux Handbuch


Zum Katalog: Computer Netzwerke






 Computer Netzwerke


Zum Katalog: Schrödinger lernt HTML5, CSS3 und JavaScript






 Schrödinger lernt
 HTML5, CSS3
 und JavaScript


Zum Katalog: Windows 8.1 Pro






 Windows 8.1 Pro


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo