Benutzung des Editors GNU Emacs



Ähnliche Dokumente
Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Die Dateiablage Der Weg zur Dateiablage

Übersichtlichkeit im Dokumentenmanagement

Anleitung für Berichte in Word Press, auf der neuen Homepage des DAV Koblenz

Visio Grundlagen. Linda York. 1. Ausgabe, Oktober 2013

Empfehlungen zur Nutzung der CD zum Buch: Klee & Wiemann: Beweglichkeit und Dehnfähigkeit. Schorndorf: Hofmann,

Neue Steuererklärung 2013 erstellen

Bilder zum Upload verkleinern

Dateipfad bei Word einrichten

Bearbeitungshinweis zu den Profilblätter. Anlage zum Leitfaden

Hilfe zur Dokumentenverwaltung

Programme im Griff Was bringt Ihnen dieses Kapitel?

Programmliste bearbeiten

Tel.: Fax: Ein Text oder Programm in einem Editor schreiben und zu ClassPad übertragen.

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen

Handbuch. Adressen und Adressenpflege

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Installation von Updates

2. Im Admin Bereich drücken Sie bitte auf den roten Button Webseite bearbeiten, sodass Sie in den Bearbeitungsbereich Ihrer Homepage gelangen.

Anpassung der SolidWorks-Umgebung auf externen Rechnern

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart -

Qt-Projekte mit Visual Studio 2005

Speichern. Speichern unter

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

Excel-Anwendung Wartungsplan

Handbuch ZfEditor Stand

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Projekte Packen, Kopieren und Versenden

Buffers, Windows und Frames

Datensicherung. Beschreibung der Datensicherung

32.4 Anpassen von Menüs und Symbolleisten 795i

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Auswertung erstellen: Liste mit -

Sie wollen Was heißt das? Grundvoraussetzung ist ein Bild oder mehrere Bilder vom Wechseldatenträger

AUF LETZTER SEITE DIESER ANLEITUNG!!!

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen

KURZANLEITUNG MSDAS DMS SYSTEM - SILVERDAT II SCHNITTSTELLE

6 Das Kopieren eines bereits bestehenden Inhaltselements

Anleitung zur Erstellung einer Gefährdungsbeurteilung

Anleitungen zum Publizieren Ihrer Homepage

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Neue Zugangsdaten für sg-online erstellen

Inhalt. meliarts. 1. Allgemeine Informationen Administration Aufruf Das Kontextmenü Vorlagen...

Lieferschein Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Bedienungsanleitung. Stand: Copyright 2011 by GEVITAS GmbH

Kleines Handbuch zur Fotogalerie der Pixel AG

Durchführung der Datenübernahme nach Reisekosten 2011

:LQGRZV([SORUHU &KULVWLQH%HHU

Outlook 2000 Thema - Archivierung

Wie halte ich Ordnung auf meiner Festplatte?

Sichern der persönlichen Daten auf einem Windows Computer

Workshop 6. März 2013

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt.

Anleitung zur Pflege der Homepage über den Raiffeisen-Homepage-Manager

Excel-Anwendung Lagerverwaltung

Fallbeispiel: Eintragen einer Behandlung

Kapitel 3 Frames Seite 1

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt

Zwischenablage (Bilder, Texte,...)

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Eigenen Farbverlauf erstellen

Access Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013

Kontakte nach Nachnamen sortieren lassen

Grundlagen Word Eigene Symbolleisten. Eigene Symbolleisten in Word erstellen

OutlookExAttachments AddIn

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Office-Programme starten und beenden

InkriT Starter - 1/7 -

Windows 7 Winbuilder USB Stick

Arbeiten mit dem Outlook Add-In

nessbase Projekte Über Projekte I

Handbuch B4000+ Preset Manager

HS WAWI. Inhaltsverzeichnis. Beschreibung Masken-Steuerungselemente Suchtoolbar Berichtstoolbar Auswahltabellen...

Dokumentation: Balanced Scorecard

Artikel Schnittstelle über CSV

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Erzherzog Johann Jahr 2009

Computer Algebra Plan der Vorlesung. erstes Drittel: linux, emacs, L A TEX zweites Drittel: Sage als Taschenrechner letztes Drittel: Python für Sage

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

Benutzung der Avid Liquid Edition Schnittplätze an der Universität Innsbruck

Bedienungsanleitung Einsatzplanung. Bedienungsanleitung Einsatzplanung. Inhalt. Bedienung einer Plan-Tabelle

Anleitung für TYPO Bevor Sie beginnen Newsletter anlegen Inhalt platzieren und bearbeiten Neuen Inhalt anlegen...

FTP-Server einrichten mit automatischem Datenupload für

LÖSUNGEN AUFGABEN: EXCEL XP (OHNE DATEIEN)

GRAF-SYTECO. Handbuch. Zeichensatzgenerator für AT-Geräte. Erstellt: November SYsteme TEchnischer COmmunikation

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr.

Um über FTP Dateien auf Ihren Public Space Server - Zugang laden zu können benötigen Sie folgende Angaben:

ecaros2 - Accountmanager

3. GLIEDERUNG. Aufgabe:

Die neue Datenraum-Center-Administration in. Brainloop Secure Dataroom Service Version 8.30

Persönliches Adressbuch

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Eigene Seiten erstellen

Transkript:

FORSCHUNGSZENTRUM JÜLICH GmbH Zentralinstitut für Angewandte Mathematik D-52425 Jülich, Tel. (02461) 61 6402 Beratung und Betrieb, Tel. (02461) 61 6400 Technische Kurzinformation FZJ-ZAM-TKI-0252 Wolfgang Frings, Peter Weidner 22. November 2000 Benutzung des Editors GNU Emacs 1 Allgemeines GNU Emacs ist ein in der UNIX-Welt weit verbreiteter Editor, der den Benutzer nicht nur beim Editieren, sondern auch bei anderen Aufgaben wie Programmierung, Textverarbeitung, Dateibehandlung, Mail und Netnews unterstützt. Daher passt der Ausdruck integrierte Oberfläche besser zu dieser Software als die Bezeichnung Editor. Trotzdem ist das Editieren von Texten und Programmen die Hauptaufgabe dieses Tools. Daneben bietet Emacs mit der Dired-Funktion eine Erweiterung, die den Benutzer bei der Verwaltung von Dateien und Verzeichnissen komfortabel unterstützt. GNU Emacs besteht aus einem in C geschriebenen Kern, der durch eine in LISP geschriebene Macro-Bibliothek erweitert wird. Dadurch ist Emacs leicht portierbar und an bestimmte Aufgaben und Anforderungen anpassbar. Zum Beispiel stehen für verschiedene Anwendungen unterschiedliche Modes für die Benutzung des Editors zur Verfügung. So besteht z.b. die Möglichkeit, den Editor im C-, FORTRAN-, LISP-, TEX-, Text- oder Outline-Mode zu benutzen, wo unter anderem das Einrücken und Bewegen des Cursors in Abhängigkeit vom Kontext durchgeführt wird. Seit der Version 19 des GNU Emacs wird auch X11-Windows unterstützt. Dadurch sind die meisten Funktionen des Editors nicht mehr alleine über Tastenkombinationen erreichbar, sondern stehen auch über Menüs, die sich an den jeweiligen Mode anpassen, zur Verfügung. Inhalt 1 Allgemeines 1 2 Dokumentation 2 3 Verfügbarkeit und Aufruf 2 4 Aufbau der Oberfläche 2 4.1 Handhabung von Buffer und Window.... 4 5 Dired (Directory Editor) 6 5.1 Markieren von Dateien........... 6 5.2 Dateien kopieren oder verschieben..... 6 5.3 Dateien löschen............... 6 5.4 Unterverzeichnisse............. 7 5.5 Sortieren................... 7 5.6 Editieren................... 7 5.7 Verzeichnis erzeugen............ 7 5.8 Backup-Dateien............... 7 5.9 Befehl auf Datei............... 7 6 Grundfunktionen des Editors 8 6.1 Bewegen innerhalb der Datei........ 8 6.2 Enter, Zeilenende.............. 8 6.3 Bereiche kopieren, verschieben und löschen 8 6.3.1 Kill& Yank................ 8 6.3.2 Cut& Paste................ 9 6.4 Suchen.................... 9 6.5 Suchen und Ersetzen............. 10 6.6 Undo..................... 10 6.7 Datei abspeichern, einfügen......... 10 7 Ange-Ftp 10 8 Voreinstellungen und X-Ressourcen 11 9 Tips zum Arbeiten mit Emacs 11 9.1 Automatische Pfaderweiterung....... 11 9.2 Keine Backup-Dateien............ 11 9.3 Menüs.................... 11 9.4 Fonts..................... 11 9.5 Fremdsprachenunterstützung........ 12 9.6 Customize.................. 12 9.7 Hilfe..................... 12 10 Funktionstastenbelegung 12

2 Dokumentation Eine komplette Beschreibung des Editors enthält das GNU Emacs Manual, das als Benutzerhandbuch FZJ-ZAM-BHB-0115 erhältlich ist. Das Manual umfasst mehr als 500 Seiten und enthält neben der Beschreibung des Editors auch Erläuterungen zu der Mail-, NetNews-, Dired- und TEX- Umgebung. Zusätzlich ist eine Referenzkarte (FZJ-ZAM-RFK-0005) mit den wichtigsten Tastenkombinationen des Editors und der Dired-Umgebung verfügbar. Diese technische Kurzinformation soll neben der Beschreibung des Aufrufs und anderen installationsspezifischen Dingen nur die Grundlagen von GNU Emacs vermitteln. Weitergehendes muss aus dem GNU Emacs Manual entnommen werden, das daneben auch gut als Referenz-Manual benutzt werden kann. Als Ergänzung sind folgende Bücher im Handel erhältlich (Auswahl): D.Cameron, B.Rosenblatt, E.Raymond: Learning GNU Emacs, O Reilly 1996 D.Cameron: GNU Emacs Pocket Reference, O Reilly 1999 3 Verfügbarkeit und Aufruf GNU Emacs ist auf den zentralen Systemen des ZAM in der aktuellen Version (20.7) installiert. Der Editor kann unter zwei Namen aufgerufen werden: emacs20 Nach dem Absetzen des Befehls wird unter X11 ein neues Fenster geöffnet und die Startseite des Emacs angezeigt. Von dort aus kann man dann zur Dired- oder Editor-Umgebung wechseln. em20 Dieser Befehl geht zusätzlich zu dem vorhergehenden Befehl direkt in die Dired-Umgebung und zeigt den Inhalt des aktuellen Verzeichnisses an. Wird dem Aufruf noch ein Dateiname (Verzeichnis-Name) angehängt, so wird damit sofort der Editor (die Dired-Umgebung) aufgerufen. Der GNU Emacs kann auch von normalen ASCII-Terminals aus aufgerufen werden, allerdings fehlen dann die Menüs und die Mausunterstützung. Dem Aufruf muss dafür die Option -nw (no window) angehängt werden. Eine vollständige Liste der Aufrufoptionen ist im Anhang A des Emacs Manual beschrieben. Emacs wird durch die Tastenkombination 1 C-x C-c beendet. 4 Aufbau der Oberfläche Abbildung 1 auf der nächsten Seite zeigt eine Emacs-Session. Emacs öffnet unter X11 normalerweise nur ein Fenster, von dem aus alle Aktionen gesteuert werden. Im unteren Teil des Fensters ist die Dired-Umgebung, in dem oberen Teil eine Editier-Umgebung im C-Mode zu sehen. 1 C-x steht für das gleichzeitige Drücken der Control-Taste und der Taste x M-x steht hier für das gleichzeitige Drücken der Meta-Taste (auf Sun-Tastaturen) bzw. der Alt-Taste (auf anderen Tastaturen) und der Taste x. 2

Abbildung 1: Emacs-Session: Dired im unteren und C Edit-Mode im oberen Teil des Fensters Für das Verständnis von Emacs ist es wichtig, die Bedeutung mehrerer Begriffe zu kennen: Buffer: Mit Buffer wird bei Emacs die grundlegende logische Einheit bezeichnet, die für die Verwaltung verschiedener Objekte dient. Ein Buffer kann zum Beispiel eine zu editierende Datei, die Auflistung eines Verzeichnisses oder einen Hilfe-Text enthalten. Emacs zeigt immer nur einen Teil der verfügbaren Buffer an. Eine Liste aller verfügbaren Buffer ist durch das erste Menü Buffers zu erreichen. Windows: Emacs unterteilt das X11-Window in Bereiche, die in der Emacs-Literatur als Windows 2 bezeichnet werden. Zu einem Window gehört immer ein vertikaler Scrollbar und eine Mode Line. Jedem Window ist ein Buffer zugeordnet, dessen Inhalt dort angezeigt wird. Der Name des Buffers wird in der darunterliegenden Mode Line angezeigt. Es ist immer nur das Window aktiv, in dem der Cursor zu sehen ist. Alle Aktionen wie Texteingabe, Befehle aus den Menüs usw. werden in diesem Window ausgeführt. In der Abbildung 1 sind zwei Windows zu sehen, die den Inhalt von zwei verschiedenen Buffern anzeigen. Dabei ist das obere Window das aktive. Minibuffer: Damit wird die unterste Zeile des Editors bezeichnet, die durch eine Mode Line von den Windows getrennt ist. Über diese Zeile wird der größte Teil der Interaktion mit dem Benutzer abgehandelt. Zum Beispiel werden hier Informationen ausgegeben oder (über die Tastenkom- 2 Im weiteren werden die Fenster unter X11 mit X11-Window und die des Emacs nur mit Window bezeichnet. 3

bination M-x) Befehle eingegeben bzw. ergänzt. Achtung: Wird eine Funktion des Emacs aufgerufen, die weitere Information benötigt, wird diese Information über den Minibuffer abgefragt. Dabei muss der Minibuffer nicht mehr mit der Maus angeklickt werden. Für die Zeit der Eingabe wird der Minibuffer zum aktiven Window, in dem dann die Eingabe geschieht. Nach der Eingabe ist wieder das ursprüngliche Window das aktive Window. Mode Line: Diese revers dargestellte Zeile zeigt den Status des zugeordneten Buffers an. Neben dem Namen des Buffer wird noch der Mode, die Zeilennummer und die Position innerhalb der Datei angezeigt. Das dritte und vierte Zeichen der Zeile geben den Status des Buffer an: %% nur Lesezugriff - - Buffer ist unverändert ** Buffer enhält nicht gespeicherte Änderungen 4.1 Handhabung von Buffer und Window Im Prinzip legt jedes Öffnen einer Datei (oder einer neuen Dired-Umgebung) einen neuen Buffer an, der im aktiven Window angezeigt wird. In einer einfachen Benutzung des Emacs ist immer nur ein Window sichtbar, in dem abwechselnd zwischen der Dired- und der Editor-Umgebung umgeschaltet wird. Bei dieser einfachen Handhabung sind folgende Aktionen (Tastenkombinationen) notwendig (siehe Abbildung 2): Starten des Emacs Öffnen der Dired-Umgebung: F5 oder Menü Files Open Directory... 3 Öffnen einer Datei mit e in der Dired-Umgebung oder F4 in anderen Umgebungen Schliessen des Editor-Buffer mit F3 (danach wird wieder die Dired-Umgebung angezeigt) F5, oder Menü Dired-Umgebung e (Dired) oder F4 Editor-Umgebung F3... Dired-Umgebung (nicht sichtbar) Abbildung 2: Einfache Benutzung des Emacs Sollen mehrere Buffer gleichzeitig geöffnet und auch ggf. sichtbar sein, sind für diese erweiterte Handhabung weitere Aktionen (Tastenkombinationen) nötig: Anzahl und Anordnung der Windows: Mit C-x 2 wird das aktive Window horizontal in zwei untereinander angeordnete Windows unterteilt. Mit C-x 3 wird das aktive Window vertikal in zwei nebeneinander angeordnete Windows unterteilt. F10 löscht das aktive Window, die restlichen Windows werden entsprechend vergrößert. F11 löscht alle Windows bis auf das aktive Window. Manche Funktionen des Emacs öffnen automatisch weitere Windows zur Ausgabe von Informationen (Help, Debug, Compile). aktives Window: Über die Funktionstaste F12 kann das nächste Window zum aktiven Window gemacht werden. 3 Der Pfad wird im Minibuffer abgefragt. 4

Behandlung der Buffer innerhalb eines Windows Innerhalb des aktiven Windows kann mit F1 zwischen den einzelnen verfügbaren Buffern gewechselt werden. Mit F3 wird der Buffer des aktiven Windows gelöscht. Das Window zeigt dann den nächsten Buffer an. Wenn der zu löschende Buffer nicht gesicherte Daten enthält, erscheinen im Minibuffer entsprechende Hinweise. Über das Menü Buffers kann aus der Liste aller verfügbaren Buffer derjenige ausgewählt werden, der im aktiven Window angezeigt werden soll. Achtung: Werden mit F3 alle Windows und Buffer geschlossen, so bleibt wenigstens ein Buffer, der Scratch- Buffer, übrig. Von dort aus kann mit F5 wieder eine neue Dired-Umgebung oder mit F4 eine neue Datei eröffnet werden. Abbildung 3 zeigt die Organisation von Windows und Buffern im Emacs. In dieser Darstellung teilt sich das X11-Window in drei Windows, denen aus der Menge der zur Verfügung stehenden Buffern zwei zugeordnet wurden. An der Abbildung kann man erkennen, dass die Zuordnung einer Datei zu einem Teil des Emacs-Windows über zwei Schichten geschieht. Für die Datei wird zuerst ein Buffer angelegt, der den Inhalt der Datei aufnimmt. Der Buffer kann dann einem oder mehreren Windows zugeordnet werden. EMACS: X11-Window C-x 2: split (hor.) C-x 3: Split (vert.) F10: delete window F11: delete other windows Windows: Window 1 Window 2 Window 3 F1: switch buffer F3: kill buffer Menü: Buffers Buffer: Buffer 1 Buffer 2 Buffer 3 Buffer 4 Buffer 5 Abbildung 3: Erweiterte Benutzung des Emacs Durch diese zweistufige Zuordnung der Dateien zu den Windows ist es auch möglich, eine Datei in mehreren Windows gleichzeitig zu editieren. Jedes Window speichert die Position des Cursors, so dass gleichzeitig mehrere Bereiche einer Datei angezeigt und verändert werden können. Da es sich immer noch um einen Buffer handelt, der dann mehreren Windows zugeordnet wird, existiert im Speicher des Emacs auch nur eine Version der Datei (siehe Buffer 3 in Abbildung 3). Dadurch werden Änderungen, die in dem einen Window gemacht wurden, auch in den anderen Windows, die diesen Buffer anzeigen, sofort sichtbar. Eine ausführlichere Beschreibung ist im Emacs-Manual in Kapitel 1 The Organisation of the Screen, in Kapitel 15 Using Multiple Buffers und in Kapitel 16 Multiple Windows zu finden. Im Kapitel 17 Frames and X Windows wird auf die hier nicht angesprochene Möglichkeit eingegangen, auch mehrere Frames (X11-Windows) im Emacs zu öffnen. Diese bilden dann in Abbildung 3 eine weitere Schicht oberhalb der Windows. 5

5 Dired (Directory Editor) Die Dired-Umgebung (DIRectory-EDitor) des Emacs erlaubt eine komfortable Manipulation von Dateien und Verzeichnissen. Abbildung 1 auf Seite 3 zeigt im unteren Teil eine Dired-Umgebung. In einem Window kann zusätzlich zum Inhalt des Verzeichnisses auch der Inhalt der zugehörigen Unterverzeichnisse angezeigt werden. Über den Aufruf von em20 gelangt der Benutzer direkt in diese Umgebung, die dann den Inhalt des aktuellen bzw. des durch Angabe eines Parameters spezifizierten Verzeichnisses anzeigt. Ansonsten gelangt man über F5 oder Menü Files Open Directory... (und die Angabe eines Verzeichnisses im Minibuffer) in die Dired-Umgebung. Innerhalb der Dired-Umgebung steht eine Vielzahl von Kommandos zur Verfügung, die das Manipulieren von Dateien und Verzeichnissen ermöglichen. Diese Kommandos sind sowohl über Tastenkombinationen als auch über Menü erreichbar, wobei sie nach Funktionsart auf verschiedene Menüs aufgeteilt sind. Hinter den einzelnen Menü-Einträgen sind zusätzlich die zugehörigen Tastenkombinationen aufgelistet. Eine vollständige Beschreibung der Dired-Umgebung befindet sich im Kapitel 28 des Emacs-- Manuals. Die Befehle wirken auf die Datei, in deren Zeile der Cursor steht. Sollen mehrere Dateien gleichzeitig behandelt werden, so müssen diese vorher markiert werden: 5.1 Markieren von Dateien Dazu werden die in Betracht kommenden Dateien mit *m oder m (mark) markiert. Diesen Dateien wird dann automatisch am Zeilenanfang das Zeichen * vorangestellt. Mit *u oder u (Unmark) kann dieses Flag wieder zurückgenommen werden. Sind Dateien markiert, so wirken alle weiteren Befehle auf die markierten Dateien. Mit *! oder Menü Mark Unmark all können alle Markierungen gleichzeitig zurückgenommen werden. 5.2 Dateien kopieren oder verschieben Falls eine Datei kopiert wird, kann sich die Zieldatei im gleichen Verzeichnis befinden, muss aber einen anderen Namen haben. Mehrere Dateien gleichzeitig können nur in ein anderes Verzeichnis kopiert werden. Nach dem Drücken der Taste C (Copy) wird im Minibuffer das Ziel-Verzeichnis bzw. die Zieldatei abgefragt. Bei dieser Abfrage ist die automatische Pfaderweiterung möglich (siehe Abschnitt 9.1 auf Seite 11). Es ist darauf zu achten, dass hier das große C gemeint ist. Es muss also Shift-c eingegeben werden. Die Kleinbuchstaben sind innerhalb der Dired-Umgebung mit anderen Funktionen belegt. Dies gilt auch für die weiteren Funktionen, die in diesem Kapitel erläutert werden. Mit R (Rename) können Dateien umbenannt und verschoben werden. Hier gilt das gleiche Prinzip wie beim Kopieren: Einer Datei kann ein neuer Name zugeordnet werden, mehrere Dateien können nur in ein anderes Verzeichnis verschoben werden. 5.3 Dateien löschen Es gibt mehrere Arten Dateien zu löschen: Eine Datei kann ohne vorheriges Markieren direkt mit D gelöscht werden. Mehrere Dateien können mit der Taste d zum Löschen markiert werden. Diesen Dateien wird am Zeilenanfang das Zeichen D vorangestellt. Erst durch die Taste x wird dann das Löschen durchgeführt. Dateien, die mit *m oder m markiert worden sind, können auch mit D gelöscht werden. Allen Arten gemeinsam ist, dass vor dem Löschen nochmals nachgefragt wird, ob diese Dateien wirklich gelöscht werden sollen. Diese Frage muss dann mit yes beantwortet werden. 6

5.4 Unterverzeichnisse Sollen neben dem aktuellen Verzeichnis auch Unterverzeichnisse angezeigt werden, können diese mit i im gleichen oder mit v in einem anderen Buffer angezeigt werden. Mit i wird das Unterverzeichnis alphabetisch sortiert hinter dem aktuellen eingefügt (siehe auch unteres Window in Abbildung 1 auf Seite 3). 5.5 Sortieren Die Sortierreihenfolge der Dateien kann mit der Taste s verändert werden. Dabei wird zwischen einer alphabetischen und einer nach Erstellungsdatum sortierten Auflistung zyklisch gewechselt. 5.6 Editieren Durch Anklicken des Namens mit der mittleren Maustaste oder über die Tasten e (edit) oder f (find-file) kann eine Datei editiert werden. Dazu wird diese in einem neuen Buffer angezeigt. Der Name einer neuen Datei oder einer Datei, die sich nicht im angezeigten Verzeichnis befindet, kann mit F4 angegeben werden. Die Editor-Umgebung wird im folgenden Abschnitt 6 auf der nächsten Seite beschrieben. 5.7 Verzeichnis erzeugen Mit der Taste + wird im aktuellen Verzeichnis ein neues Unterverzeichnis angelegt. Der Name wird im Minibuffer abgefragt. Diese Funktion sollte nicht mit der Funktion i (insert directory) verwechselt werden. Diese betrifft nur die Anzeige im aktuellen Buffer, + erzeugt hingegen auf der Disk ein neues Verzeichnis. 5.8 Backup-Dateien Emacs legt bei jeder Veränderung einer Datei eine Backup-Datei (gleichen Namens und nachgeschaltetem ) an, die den Inhalt der unveränderten Datei enthält. Zusätzlich werden noch Autosave-Dateien (gleichen Namens und mit # versehen) angelegt, die normalerweise nur während des Editierens existieren. Diese Dateien können alle gleichzeitig mit den Tasten und # zum Löschen markiert und mit x gelöscht werden. 5.9 Befehl auf Datei Mit! kann über den Minibuffer ein Unix-Befehl eingegeben werden, der auf diese Datei ausgeführt wird. Dem Befehl wird der Dateiname angehängt und dann in einer Shell ausgeführt. Dabei entstehender Output wird nach Beendigung des Befehls in einem Window angezeigt. Soll in der Befehlszeile noch etwas hinter dem Dateinamen stehen, muss dieser innerhalb der Befehlszeile mit dem Platzhalter * markiert werden. Sind vorher mehrere Dateien markiert und der Platzhalter * nicht benutzt worden, wird der Befehl für jede Datei einzeln ausgeführt. Bei der Verwendung von * wird dieser durch die Liste aller markierten Dateien ersetzt. Ein ausführbares Programm kann direkt aufgerufen werden, indem man beim Prompt nach der Befehlszeile keine Angabe macht. 7

6 Grundfunktionen des Editors In den Editor des Emacs gelangt man über Dired oder über F4 (Menü Files Open File). Beim Aufruf des Editors wird eine Anpassung an den entsprechenden Dateityp (FORTRAN, TEX, Text) vorgenommen. Dies wird an Hand des Dateinamens entschieden und innerhalb des Emacs als Mode bezeichnet. Der Name des Mode wird in der Mode Line eingeblendet. Die Modes charakterisieren sich z.b durch das angepasste Verhalten beim Einrücken von Texten. Der Editor erlaubt im Gegensatz zu vi direkt das Eingeben von Text, wobei er sich im Insert-Modus befindet. Über die Taste Insert kann zwischen dem Insert- und Overwrite-Modus gewechselt werden. In diesem Abschnitt können nur die wichtigsten Dinge des Editors vorgestellt werden. Eine vollständige Beschreibung ist im Emacs-Manual enthalten. 6.1 Bewegen innerhalb der Datei Der Cursor kann innerhalb eines Windows mit den Cursortasten bewegt werden. End springt an das Ende der Zeile, Home an den Anfang der Zeile. Mit Page Up und Page Down wird der Inhalt des Windows um eine Seite nach unten bzw. oben geschoben. Befindet sich der Cursor in der ersten bzw. letzten Zeile des Windows, wird bei der nächsten Bewegung nach oben bzw. unten die nächste Zeile in die Mitte des Windows geschoben. 6.2 Enter, Zeilenende Die Enter- Taste bewirkt einen Zeilenumbruch. Befindet sich der Cursor nicht am Ende der Zeile, wird der restliche Text der Zeile in die nächste Zeile übernommen. Emacs füllt kurze Zeilen nicht mit Leerzeichen auf. Das hat zur Folge, dass beim Auf- und Abwandern innerhalb der Datei der Cursor ggf. an das Ende der kurzen Zeile springt. Wird eine längere Zeile erreicht, springt der Cursor wieder an die ursprüngliche Position innerhalb der Zeile. 6.3 Bereiche kopieren, verschieben und löschen Es gibt im Emacs zwei Möglichkeiten, Bereiche zu kopieren, zu verschieben oder zu löschen. Die erste Möglichkeit hat ihren Ursprung aus den früheren Versionen, die noch nicht unter X11 liefen, und wird im folgenden mit Kill& Yank bezeichnet. Die andere Möglichkeit ist die des X11. Dort werden die Bereiche mit der Maus markiert und auf Tastendruck kopiert, verschoben oder gelöscht. Diese Methode wird im folgenden mit Cut& Paste bezeichnet. Beiden Methoden ist gleich, dass es einen Paste-Buffer 4 gibt, der den markierten Bereich übernimmt und diesen dann zum weiteren Einfügen zur Verfügung stellt. 6.3.1 Kill& Yank Mit C-k wird der Text bis zum Zeilenende gelöscht und in den Paste-Buffer übernommen. Mehrmaliges Drücken von C-k löscht weiteren Text, der dann an den Paste-Buffer angehängt wird. Jede andere Aktion beendet diese Übernahme, so dass das nächste C-k zuerst den Paste-Buffer leert. Mit C-y wird der Inhalt des Paste-Buffers hinter der aktuellen Cursor-Position eingefügt. 4 Hierbei handelt es sich nicht um einen Emacs-Buffer, sondern um einen internen Speicher, der zur Zwischenlagerung von Textstücken dient. 8

Die schnellste Methode eine Zeile zu verdoppeln, ist zuerst diese mit zweimaligem Drücken 5 von C-k zu löschen und in den Paste-Buffer zu übernehmen und dann mit zweimaligem Drücken von C-y doppelt einzufügen. Größere Bereiche können leichter auf eine andere Art in den Paste-Buffer übernommen werden. Dazu wird zuerst der Anfang (bzw. das Ende) des gewünschten Bereichs mit C-<Space> oder F8 (Mark) markiert. Danach wird der Cursor auf das Ende (bzw. auf den Anfang) des Bereichs gesetzt, wobei der Bereich farbig hinterlegt wird. Mit C-w wird dieser Bereich gelöscht und in den Paste-Buffer übernommen, mit M-w wird er nur in den Paste-Buffer übernommen. Der Paste-Buffer kann dann wie gewohnt mit C-y wieder an anderen Stellen eingefügt werden. 6.3.2 Cut& Paste Bei Cut& Paste wird zum Markieren eines Bereichs die Maus benutzt. Es kann auf zwei verschiedene Arten markiert werden: Zum einen kann mit der linken Maustaste der Cursor an die Stelle des Mauszeigers gesetzt werden und mit gedrückter linker Maustaste und durch Ziehen der Maus der gewünschte Bereich markiert werden. Zum anderen kann mit der linken Maustaste der Cursor gesetzt werden. Dieser Punkt bezeichnet den Anfangs- bzw. Endpunkt des zu markierenden Bereichs. Mit der rechten Maustaste wird der gegenüberliegende Punkt des Bereichs markiert. Bei beiden Methoden wird der markierte Bereich farbig hinterlegt. Sobald ein Bereich markiert worden ist, steht er im Paste-Buffer zum weiteren Einfügen zur Verfügung. Mit der mittleren Maustaste wird der Paste-Buffer an die Stelle des Mauszeigers eingefügt. Achtung: Es wird nicht an die Position des Cursors eingefügt. Durch einen Doppelklick der rechten Maustaste wird ein zuvor markierter Bereich gelöscht. Der Bereich ist weiterhin im Paste-Buffer gespeichert. Beide Methoden arbeiten auf dem gleichen Paste-Buffer, so dass Kill& Yank- und Cut& Paste- Funktionen gemischt werden können. Im Menü Edit Select and Paste kann für das nächste Einfügen aus der History des Paste-Buffers ein anderer Inhalt gewählt werden. 6.4 Suchen Eine Möglichkeit für die Suche nach Texten ist I-Search (incremental search). Hier wird schon während des Eingebens des Suchbegriffes die Stelle des ersten Vorkommens gesucht. Gestartet wird I-Search mit C-s (vorwärts suchen) bzw. C-r (rückwärts suchen). Danach erscheint im Minibuffer ein Prompt für die Eingabe des Suchbegriffs. Es wird sofort bei der Eingabe eines Zeichen schon die Stelle der ersten Übereinstimmung angesprungen. Weitere Zeichen erzwingen ggf. ein Weiterspringen. Durch nochmaliges Drücken von C-s oder C-r wird das nächste Auftreten des Suchbegriffs in der entsprechenden Richtung gesucht. Es gibt zusätzlich Suchfunktionen, die auch Suchmuster entsprechend den UNIX regular expressions akzeptieren. Mehr darüber ist in Kapitel 12 Searching and Replacement des Emacs Manuals zu finden. 5 Das erste C-k löscht nur bis zum Zeilenende, das Zeilenendezeichen wird erst beim zweiten Drücken von C-k gelöscht und in den Paste-Buffer übernommen. 9

6.5 Suchen und Ersetzen Über die Tastenkombination M-% (Query-Replace) können in einer Datei Strings ersetzt werden. Über den Minibuffer werden sowohl der Suchstring als auch der neue String abgefragt. Die Suche beginnt an der aktuellen Cursor-Position und endet am Ende der Datei. Nach der Eingabe der Strings hat man mehrere Möglichkeiten: Mit der <Space>- Taste (oder y) wird der Suchbegriff ersetzt und das nächste Auftreten gesucht, mit Del oder n wird ohne den Suchbegriff zu ersetzen zum nächsten Auftreten übergegangen, mit! werden ab dieser Position alle gefundenen Strings ersetzt und mit q oder <Enter> wird dieser Modus verlassen. 6.6 Undo Auf den Tasten C-x u und F9 liegt eine Undo-Funktion, die es gestattet, sequentiell alle vorgenommenen Änderungen zurückzunehmen. Durch wiederholtes Drücken der Tasten werden solange Änderungen zurückgenommen, bis eine andere Aktion erfolgt. Jedes einzelne Undo wird natürlich auch in der Undo-Liste gespeichert, so dass diese bei der nächsten Undo-Aktion wieder berücksichtigt werden. 6.7 Datei abspeichern, einfügen Mit F2 (oder C-x s) speichert Emacs die Datei des aktiven Window ab. Emacs fragt bei dieser Tastenkombinationen zuerst nach, ob diese Datei gesichert werden soll. Bei C-x C-s entfällt diese Abfrage. Wird mit F3 ein ungesicherter Buffer gelöscht, so wird vorher der Benutzer darauf hingewiesen. Soll dieser Buffer nicht abgespeichert werden, muss die Nachfrage (kill anyway?) mit yes beantwortet werden. Mit C-x C-w kann die Datei unter einem anderen Namen abgespeichert werden. Durch C-x i kann eine andere Datei an die Stelle des Cursors eingefügt werden. 7 Ange-Ftp Ange-Ftp ist eine Erweiterung des Emacs, die es erlaubt, unter Emacs auch Dateien und Verzeichnisse auf entfernten Rechnern anzusprechen. Dazu benutzt Emacs intern eine FTP-Session, über die die Dateien übertragen werden. Wann immer im Emacs eine Datei oder ein Verzeichnis angegeben werden soll, kann dies auch in der folgenden erweiterten Syntax geschehen: /user@host:<pfad auf host> Nach einer solchen Angabe fragt Emacs nach dem Password auf dieser Maschine und öffnet eine FTP-Session dorthin. Mit Ange-Ftp können somit einfach Verzeichnisse und Dateien auf anderen Maschinen (FTP- Servern) betrachtet und ggf. bearbeitet werden. Durch die Angabe /ftp@ftp.zam.kfa-juelich.de: gelangt man z.b auf den FTP-Server des ZAM. Eine sichere (aber langsamere) Variante benutzt ssh und lautet: /r@scp:user@host:<pfad auf host> 10

8 Voreinstellungen und X-Ressourcen Viele Voreinstellungen können über das Profile.emacs.el, das im Home-Verzeichnis liegen muss, gesteuert werden. Hier können z.b. neue Tastenbelegungen programmiert oder Default-Werte verändert werden. Die dort benutzte Programmiersprache ist Lisp, in der auch der größte Teil der Emacs-Funktionen geschrieben ist. Ein Beispiel für dieses Profile liegt auf den zentralen Systemen des ZAM im Verzeichnis /usr/local/emacs20 unter dem Namen emacs.el.template. Dort sind für viele Erweiterungen des Emacs die benötigten Voreinstellungen eingetragen. Vor jedem Eintrag steht ein kurzer Kommentar, der diese Erweiterung beschreibt. Einigen Erweiterungen sind noch Kommentarzeichen (;;) vorgeschaltet, die, falls die Erweiterung erwünscht ist, entfernt werden müssen. Im Verzeichnis /usr/local/emacs20/localapp-defaults steht eine Datei Emacs, die die wichtigsten X-Ressourcen des Emacs enthält (siehe auch Anhang A.13 des Emacs-Manuals). 9 Tips zum Arbeiten mit Emacs 9.1 Automatische Pfaderweiterung Wann immer die Eingabe eines Dateinamens oder eines Pfades verlangt wird, besteht die Möglichkeit, den Pfad per Tastendruck zu erweitern. Durch das Drücken der Leertaste wird der Pfad bis zur ersten Stelle erweitert, die nicht mehr eindeutig ist. Bei nochmaligem Drücken der Leertaste werden in einem weiteren Buffer die möglichen Erweiterungen angezeigt. Beispiel: In dem Unterverzeichnis myexamples soll die Datei first.ex angewählt werden: my<space> myexamples/ fir<space><space> myexamples/first.ex Eindeutige Pfadteile werden nur bis zum nächsten Sonderzeichen erweitert. Erst beim zweiten Drücken der Leertaste wird das nächste Teilstück erweitert. 9.2 Keine Backup-Dateien Sollen keine Backup-Dateien angelegt werden, muss folgende Zeile in das Profile.emacs im Home-Verzeichnis eingetragen werden: (setq make-backup-files nil) 9.3 Menüs Die Menüs des Emacs passen sich automatisch an den entsprechenden Mode des aktiven Windows an. Die Menüs enthalten neben dem Eintrag auch jeweils einen Hinweis auf die entsprechende Tastenkombination, unter der die Funktion ebenfalls zu erreichen ist. 9.4 Fonts Die Fonts innerhalb des Emacs lassen sich außer durch X-Ressourcen auch über ein Menü verändern, das über die Tastenkombination Shift-<linke Maustaste> zu erreichen ist. 11

9.5 Fremdsprachenunterstützung Im Menü Mule bietet der Editor eine Reihe von Einstellungen an, um Texte in fremden Sprachen und Schriften zu bearbeiten. Kapitel 18 International Character Set Support des Emacs Manuals enthält Einzelheiten hierzu. 9.6 Customize Mit Hilfe des Menüs Help Customize können viele Anpassungen des Editors an den persönlichen Geschmack vorgenommen werden. Näheres hierzu ist im Kapitel 31, Abschnittt 2.2 des Emacs Manuals zu finden. 9.7 Hilfe Das Menü Help (bzw. seine Untermenüs) bietet unter anderem folgende Hilfe-Funktionen an: Info (C-h i) Hypertext-System, das z.b. das komplette GNU Emacs Manual enthält Describe Mode (C-h m) Beschreibung des Modes im aktiven Window List Keybindings (C-h b) Liste der Tastenbelegung Describe Key (C-h k) beschreibt Funktion der entsprechenden Taste Emacs Tutorial (C-h t) kurze Einführung in die Grundfunktionen des Editors Eine vollständige Liste der Hilfe-Funktionen ist im Kapitel 7 Help des Emacs Manuals zu finden. 10 Funktionstastenbelegung Auf den zentralen Systemen des ZAM sind die Funktionstasten des Emacs folgendermaßen belegt. Die Tabelle enthält neben der Funktion auch noch die Tastenkombination, über die die Funktion auch ohne diese Belegung zu erreichen ist (falls vorhanden). F1 F2 F3 F4 F5 F6 switch buffer save kill buffer edit file dired switch to buffer (C-x s) (C-x k) (C-x C-f) (C-x C-d) F7 F8 F9 F10 F11 F12 buffer menu set mark Undo delete window (C- <Space>) delete all other windows switch cursor to other window (C-x u) (C-x 0) (C-x 1) (C-x o) Wenn in einem Dired-Buffer Ange-Ftp benutzt wird, sind einige Tasten anders belegt (siehe Kapitel 7 auf Seite 10). 12