Emacs Tutorial (Pt. 2)

Und wieder ein Artikel, in dem es sich voll und ganz um den Editor Emacs dreht. In diesem Teil des Tutorials soll es um die Benennung von Dingen gehen. Wer eine Software einsetzen möchte, kommt nicht darum herum, sich ein wenig mit der Philosophie dahinter auseinander zu setzen.

Der wichtigste philosophische Aspekt von Emacs erscheint mir, dass ein Nutzer niemals direkt auf einem Dokument arbeitet. An dieser Stelle sei mir ein kleiner Ausflug gestattet.

Ein gesichertes Dokument liegt auf irgendeinem persistenten Medium. Das kann eine Festplatte, ein USB-Stick, eine CD, DVD, Diskette oder ein Magnetband sein. Auf jeden Fall handelt es sich um einen Ort, an dem die Information nicht verloren geht, wenn ich den Rechner vom Strom trenne. Festspeicher haben diesen Vorteil. Aber auch einen entscheidenden Nachteil: Sie sind langsam. Ein Dokument direkt auf dem Festspeicher bearbeiten zu wollen, gleicht dem Waten abseits eines Weges durch einen Sumpf.

Dafür gibt es einen zweiten Speicher, den sogenannten Hauptspeicher. Wenn man ein Dokument bearbeiten möchte, lädt man es in diesen Speicher (weswegen er auch “Arbeitsspeicher” genannt wird). Der Hauptspeicher ist deutlich schneller als der Festspeicher, hat aber den Nachteil, dass sein Inhalt verloren geht, trennt man die Maschine vom Strom. Der Inhalt muss also vor dem Ausschalten des Rechners zurück auf den Festspeicher geschrieben werden.

Gewöhnliche Programme verbergen diesen Mechanismus vor dem Benutzer. Nicht jedoch Emacs.

Buffer

Wenn wir eine Datei in Emacs öffnen, dann liest der Editor diese Datei in einen Zwischenspeicher, den sogenannten Buffer. Wenn wir jetzt auf der Datei arbeiten, dann passiert mit der Datei auf der Festplatte erst einmal gar nichts. Erst wenn wir die Datei speichern (im Emacs-Jargon: “den Buffer ausschreiben”), wird die Datei auf der Festplatte verändert. Es wird also exakt der Prozess des “in den Arbeitsspeicher Ladens” und später “zurück auf die Festplatte Schreibens” abgebildet. Eigentlich funktionieren andere Programme genauso, nur dass bei Emacs eine geöffnete Datei “Buffer” heißt. Wenn ich also davon spreche, dass ich einen Buffer schließe, dann schließe ich eine geöffnete Datei in Emacs, nicht jedoch Emacs selbst.

Window

Buffer, Window and Frame in Emacs

Ist bei anderer Software von einem Fenster die Rede, meint das meist den gesamten sichtbaren Teil des Programms. Der Begriff der Fenster wurde dir 25 Jahre “Windows” deutlich geprägt. Bevor es jedoch graphische Software mit Fenstern gab, konnte man den Bildschirm eines Rechners, auf welchem Emacs lief, bereits in mehrere Teile unterteilen. So konnte man zwei Buffer nebeneinander betrachten. In Emacs heißt ein jeder Teil des Bildschirms, in welchem ein Buffer zu sehen ist “Fenster” (“Window”).

Frame

In perfekter Konsistenz zum Fenster ist der Rahmen das gesamte Emacs-Programm. Alle geöffneten Fenster mit allen Buffern darin innerhalb eines Emacs Programmfensters heißen zusammen “Rahmen” (“Frame”).

Pointer

In einem Terminal, bezeichnet der Cursor eine bestimmte Position. Dabei meint Cursor ein bestimmtes Zeichen, welches je nach Eingabemodus verändert wird. Beispielsweise könnte in einem Einfügemodus Text vor oder hinter dem Cursor hinzu kommen, oder in einem Löschmodus das Zeichen aus dem Text entfernt werden. Allgemein sorgt die Metapher des Cursors vor allem bei Neulingen am Terminal für einige Verwirrung. Emacs verfolgt auch hier einen anderen Ansatz, indem es den Pointer definiert, welcher der Raum vor dem Cursor ist. Alle Bearbeitung findet exakt am Pointer statt, nicht davor und nicht dahinter.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s