- Registriert
- 19.01.05
- Beiträge
- 1.116
Tach allerseits,
mein Einstieg in die Emacs-Welt war recht holprig. Deshalb habe ich, in der Hoffnung anderen den Zugang ein wenig erleichtern zu können, die Erfahrungen, die ich über die Monate so gemacht habe zu einem kleinen Tutorial zusammengefasst. Vielleicht bringt's dem ein oder anderen ja etwas!
Download und Installation
Läuft wir gewohnt ab: Auf http://aquamacs.org/ das Download-Symbol anklicken, DMG-Datei öffnen und das Aquamacs-Gnu in den Programme-Ordner ziehen.
Ich empfehle außerdem ein Programm wie ShiftIt (kostenlos) oder Cinch (7$) zu verwenden um verschiedene Fenster leichter (und vor allem mit der Tastatur) auf dem Bildschirm anordnen zu können.
Reference Card und einfache Befehle
Emacs ist für seine zahlreichen und komplizierten Tastenkürzel bekannt. Um die ersten Schritte ein wenig sanfter zu gestalten empfiehlt es sich, eine Reference Card auszudrucken, auf der die wichtigsten Tastenküzel stehen. Unter "read a file into Emacs" findet man zum Beispiel die Angabe: C-x C-f. Das bedeutet, dass Control und x und anschließen Control+f gedrückt werden muss.
Es gibt wahrscheinlich keinen Editor, der sich individueller konfigurieren lässt als Emacs.
Aquamacs bietet einem dafür zwei Möglichkeiten: Zum einen kann man die langen und leider recht unübersichtlichen halb-grafischen Konfigurationslisten verwenden. Es gibt aber auch noch die Möglichkeit Aquamacs durch Einträge in einer bestimmten Konfigurations-Datei zu individualisieren.
Diese Veränderungen werden komplett in einem speziellen Dialekt der Programmiersprache Lisp gemacht. Wie alles bei Emacs wirkt das am Anfang etwas einschüchternd, bietet aber eine riesige Vielfalt an Möglichkeiten.
Die erste echte Aquamacs-Herausforderung ist nun die Konfigurationsdatei zu öffnen. Wir haben vorhin schon gesehen, dass das Tastenkürzel dafür C-x C-f lautet. Führt nun also diesen Tastenkürzel aus.
Vielleicht ist euch schon aufgefallen, dass Aquamacs am unteren Programmrand bisher immer eine leere Zeile gelassen hat. Dabei handelt es sich um den sogenannten Minibuffer, der gleich in Aktion treten wird: Nach dem C-x C-f steht dort „Find file: ”.
Der Cursor befindet sich jetzt in besagtem Minibuffer. Aquamacs erwartet jetzt, dass hier der Dateiname der Datei, die geöffnet werden soll eingetragen wird.
Die Konfigurationsdatei liegt an folgendem Pfad: ~/Preferences/Library/Aquamacs Emacs/Preferences.el. Tippt also diesen Pfad ein - und vergesst die Auto-Vervollständigung mit Tab nicht! Wirklich tippen muss man nur L<TAB>Pre<TAB>s<TAB>Aq<TAB>Pr<TAB><RETURN> (Kann natürlich je nach Konfiguration etwas variieren, aber ihr versteht, was ich meine...)
Wie man an der Titelleiste direkt über dem Minibuffer sehen kann, wurde nun die Konfigurationsdatei Preferences.el geöffnet.
Wie versprochen kommt nun der Lisp-Code, der für eine Standard-Tastenbelegung sorgt:
Wo die Preferences.el-Datei schon offen ist, können wir gleich noch ein paar andere Änderungen vornehmen. Kopiert den Lisp-Quelltext einfach mit Apfel+C aus dem Browser heraus und fügt ihn mit C-y wieder in eure Preferences.el ein.
Eine Ausnahme beim Kopieren macht die erste Änderung. Die sorgt nämlich überhaupt erst dafür, dass das Aquamacs-Interne (und wesentlich praktischere und mächtigere) Pasteboard mit dem von OS X interagiert. Klickt also einfach den Paste-Knopf in der Toolbar an:
Wenn jetzt in OS X normal mit Apfel+C etwas kopiert wird, dann kann es in Aquamacs mit dem vorhin schon erwähnten C-y („Yank”) wieder eingefügt werden.
Als nächsten müssen wir alles loswerden, was Platz verschwendet. Kopiert die folgenden Zeilen einfach in die Preferences.el
Man kann in Aquamacs auch leicht weitere Module nachladen. Ich habe zum Beispiel beim Programmieren gerne Zeilennummer am Rand stehen. Das lässt sich folgendermaßen aktivieren:
Ich habe mir außerdem noch einige praktische Tastenkürzel definiert:
In Emacs hat man die Möglichkeit mehrere Fenster zu öffnen. Standardmäßig kann man bei OS X mit US-Tastaturlayout zwischen den Fenstern eines Programms mit Apfel+` wechseln, bei Aquamacs funktioniert das nach den Änderungen, die wir oben gemacht haben, aber nicht mehr. Die Funktionalität lässt sich aber leicht nachrüsten indem man folgendes in die Preferences.el kopiert:
Schriftgröße
Um die Schriftgröße oder Schriftart zu ändern, geht auf Options, dann Appearance, dann auf „Font for ...-Mode“. Ihr könnt nun in dem gewohnten Schriften-Fenster eure gewünschte Schriftart und Schriftgröße auswählen. Um die Änderungen zu sichern, geht auf Options, dann ganz unten auf Save Options.
Zenburn
Jetzt müssen wir uns noch um die Farben kümmern.
Ladet euch folgende Datei herunter: http://bitbucket.org/kcfelix/zenburn-theme.el/get/a675796022ab.zip (Falls das nicht klappt auf http://bitbucket.org/kcfelix/zenburn-theme.el und dann oben rechts get source anklicken).
Die Datei zenburn-theme.el muss jetzt in dem Ordner .emacs.d im Home-Verzeichnis kopiert werden.
Dazu gibt es zwei Möglichkeiten:
Öffnet den Finder, drückt Apfel+Shift+G und gebt in das Eingabefeld, das sich nun öffnet ein ~/.emacs.d
Ihr seid jetzt in dem Ordner und könnt die Datei einfach per Drag&Drop hinein ziehen.
Alternativ kann die Datei auch über das Terminal kopiert werden. Liegt die Datei im Downloads-Ordner macht man z.B. folgendes:
Die Datei wird ungefähr so aussehen:
Bedienungs-Basics
Wie man in den Dateien navigiert kann leicht der Reference Card (die ihr hoffentlich mittlerweile ausgedruckt neben euch liegen habt!) entnommen werden.
Buffer
Wie Dateien geöffnet werden, wurde schon ganz am Anfang erklärt. Aber der Vollständigkeit halber: C-x C-f
Der Clou an dem Tastenkürzel: Existiert die Datei nicht, wird sie, sobald ihr mit C-x C-s speichert, angelegt.
Wenn mehrere Dateiein geöffnet sind wird es schnell unpraktisch über die Tab-Leiste zwischen ihnen hin- und her zu wechseln. Die geschickteste Methode dafür ist natürlich mal wieder an ein Tastenkürzel gebunden:
Drückt C-x C-b um eine Auflistung aller geöffneten Buffer zu sehen. Um nun zu zwischen den geöffneten Dateien hin- und her zu wechseln macht man C-x b, tippt die ersten Buchstaben und die TAB-Taste zur Auto-Vervollständigung und drückt Return. Vor allem wenn man viele Dateien auf einmal offen hat, dann ist das eine sehr praktische Methode um schnell zwischen ihnen zu wechseln.
Um eine Datei zu schließen reicht ein C-x k und Return. Wenn man möchte, dann kann man im Minibuffer noch angeben welche Datei geschlossen werden soll. Der Default-Wert ist immer der gerade aktive Buffer.
Übrigens: Aquamacs öffnet automatisch den sogenannten Scratch-Buffer, der wie ein Notizzettel verwendet werden kann. Praktisch um kurz Code-Snippets oder ähnliches zwischenzulagern.
Der sogenannte Kill-Ring, das Aquamacs-Pendant zum Pasteboard, hat einen entscheidenden Vorteil gegenüber dem Standard-OS X-Pasteboard: Es kann mehrere Text-Schnipsel verwalten.
Um zu verstehen wie das funktioniert, schreibt einfach in ein Aquamacs-Dokument einige Sätze. Wechselt dazu am besten in den Scratch-Buffer, indem ihr C-x b und dann *scratch* (oder *s<TAB>) eingebt. Nachdem ihr dort beliebige Sätze oder Wörter hineingeschrieben habt, markiert einen kleinen Teil davon und drückt M-w (Apfel+W also) um den Bereich in den Kill-Ring zu kopieren. Wiederholt diese Prozedur mehrmals mit unterschiedlichen Bereichen.
Zum Einfügen (Yank) drückt C-y. Der letzte Bereich den ihr kopiert habt, wird eingefügt. Wenn ihr jetzt ein- oder mehrmals M-y drückt, werden stattdessen die Bereiche eingefügt, die ihr vorher kopiert hattet! Da das ganz Kill-Ring, wie der Name unschwer vermuten lässt, ringförmig aufgebaut ist, kommt ihr irgendwann wieder beim ersten Objekt an.
Tiling
Aquamacs kann seine Fenster beliebig unterteilen, was vor allem beim Programmieren ein unschätzbarer Vorteil gegenüber starren IDEs sein kann.
Öffnet irgendeine Datei und maximiert das Aquamacs-Fenster (Mit ShiftIt Apfel+Alt+F drücken).
Ihr solltet so etwas wie auf dem Screenshot sehen:
Als erste soll das Fenster vertikal geteilt werden, das geht mit C-x 3. Euer Aquamacs sollte jetzt so aussehen:
Teilt jetzt auch noch den linken Teil mit C-x 2 horizontal auf. Beachtet, dass ihr mit der Maus die Trennlinie beliebig verschieben könnt.
Jetzt soll die linke Unterteilung aufgelöst werden. Ich möchte den unteren rechten Teil loswerden. Dafür klickt man ihn an und macht C-x 0.
Nun soll nur noch der obere linke Teil angezeigt werden. Das geht mit C-x 1. Jetzt ist die Ausgangssituation wieder hergestellt.
Spätestens jetzt dürfte euch klar sein, warum es von Vorteil ist die Reference Card ausgedruckt neben sich liegen zu haben... Hat man aber mal einen Überblick gewonnen, ist unglaublich effizientes und schnelles Arbeiten damit möglich!
Beachtet: In jeder diese Unterteilungen könnt ihr mit C-x b einen anderen (oder den gleichen, was auch praktisch sein kann!) Buffer anwählen!
Neben den Unterteilungen könnt ihr auch noch neue Frames erzeugen. Frames sind dabei das, was man unter OS X ganz schlicht als Fenster bezeichnen würde.
Eine Datei öffnet man mit C-x 5 f in eine neuen Frame. Geschlossen wird der Frame dann wieder mit C-x 5 0. Um einen bereits geöffneten Buffer in einem neuen Frame zu öffnen, macht man C-x b <Name des Buffers>.
AucTex
Als Beispiel für ein Modul, das in Aquamacs verwendet werden kann, möchte ich AucTeX vorstellen. Ich gehe davon aus, dass bereits eine Latex-Distribution wie MacTeX installiert ist. Schaut euch zu dem Thema auch das super Tutorial von quarx an.
Der Modus wird automatisch gestartet, wenn man eine Datei mit der tex-Endung öffnet. Erstellt für dieses Tutorial mit C-x C-f eine neue Datei und nennt sie zum Beispiel sample.tex.
An der Modline kann man erkennen, dass jetzt der Latex-Modus aktiviert ist.
Schreibt jetzt ein einfaches Latex-Dokument, ähnlich dem auf dem Screenshot:
Speichert das Dokument mit C-x C-s ab. Mit C-c C-c kann das Latex-Dokument nun kompiliert werden. Nach ein paar Sekunden werdet ihr im besten Fall im Minibuffer „LaTeX: successfully formatted {1} page“ lesen können. Drückt nun C-c C-v um den Standard-PDF Viewer zu starten.
Mit ShiftIt kann man nun leicht in Aquamacs Apfel+Alt+Links drücken, um Aquamacs die linke Hälfte des Bildschirms zuzuweisen und Apfel+Alt+Rechts, um den PDF-Viewer nach Rechts zu schicken. Man erhält so etwas:
An der Stelle sei auf den neuen Menüpunk in Aquamacs hingewiesen:
Hier könnt ihr die nützlichen Tastenkürzel, die AucTeX für euch eingerichtet hat, nachschauen. Zum Beispiel sieht man, dass ein Environment mit C-c C-e eingefügt wird. Setzt den Cursor zwischen \begin{document} und \end{document} und macht das Kürzel. Im Minibuffer fragt AucTeX dann, welche Art von Environment wir einfügen möchten. Es soll eine numerierte Aufzählung werden, also tippt enumerate (oder en<TAB>) und bestätigt mit Return.
Tragt hinter den ersten Item-Eintrag etwas ein. Den nächsten könnt ihr umständlich von Hand tippen - oder einfach C-c C-j eingeben, dann wird der für euch generiert.
Wiederholt das ein paar mal, speichert mit C-x C-s und kompliert mit C-c C-c. Wenn ihr „Vorschau“ als PDF-Viewer verwendet, werdet ihr sehen, dass sich die eure PDF automatisch aktualisiert, wenn ihr sie anklickt. Skim unterstützt dieses Feature auch.
Klickt nun unter dem Menüpunkt „Preview“ „Generate previews for document“ an.
Wie man sieht, generiert das Preview-Modul Vorschaugrafiken. Sehr nützlich beim unübersichtlichen Formeln oder Tabellen!
Mehr Material: http://www.gnu.org/software/auctex/manual/auctex/
Weitere Module
org-mode
Der org-mode ist so etwas wie der Omni Outliner in viel flexibler und vielseitiger. Man kann es für Vorlesungsnotizen mit viel Latex-Code, zur Strukturierung von Artikeln, als Stechuhr, ToDo-Manager, Tabellen-Kalkulation, Tagebuch und viel mehr verwenden. Und das Beste: Mit MobileOrg kann man über WebDAV und Dropbox das ganze auch noch mit dem iPad oder iPhone synchronisieren.
Der org-mode ist standardmäßig bei Aquamacs dabei, man kann also direkt loslegen.
Material:
http://orgmode.org/
http://www.youtube.com/watch?v=oJTwQvgfgMM&feature=player_embedded
http://sachachua.com/blog/2008/01/outlining-your-notes-with-org/
http://members.optusnet.com.au/~charles57/GTD/orgmode.html
YASnippet
Mit YASnippet ist ein Snippet-Manager. Das ganze funktioniert so, dass man ein Stichwort eingibt und dann*eine Trigger-Taste drückt (z.B. Tab). Daraufhin ersetzt YASnippet das Stichwort durch das eigentlich Snippet.
Gibt mal also zum Beispiel im C-Modus if ein und drückt die Tab-Taste werden alle Klammern usw. eingesetzt.
Man kann sich sehr leicht eigenen Snippets anlegen, was das Modul immens nützlich macht.
http://yasnippet.googlecode.com/svn/trunk/doc/index.html
Autopair
Fügt automatisch wie zum Beispiel Netbeans eine schließende Klammer hinzu, wenn man eine öffnende tippt. Wird aktiviert indem man folgendes einfügt:
Kann folgendermaßen in bestimmten Modi aktiviert werden:
Seit ich mit verschiedenen Emacsen arbeite, kann ich mir für die meisten Aufgaben nichts Komfortableres vorstellen. Die Dinge, die in diesem Tutorial erwähnt wurden, kratzen gerade einmal die Oberfläche der Möglichkeiten an. Aber vielleicht kann ja das kleine Tutorial den Weg zu Emacs für den ein oder anderen ein wenig ebnen. Viel Spaß!
Über Hinweise auf Unklarheiten, Rechtschreibfehler, etc würde ich mich freuen!
mein Einstieg in die Emacs-Welt war recht holprig. Deshalb habe ich, in der Hoffnung anderen den Zugang ein wenig erleichtern zu können, die Erfahrungen, die ich über die Monate so gemacht habe zu einem kleinen Tutorial zusammengefasst. Vielleicht bringt's dem ein oder anderen ja etwas!
Download und Installation
Läuft wir gewohnt ab: Auf http://aquamacs.org/ das Download-Symbol anklicken, DMG-Datei öffnen und das Aquamacs-Gnu in den Programme-Ordner ziehen.
Ich empfehle außerdem ein Programm wie ShiftIt (kostenlos) oder Cinch (7$) zu verwenden um verschiedene Fenster leichter (und vor allem mit der Tastatur) auf dem Bildschirm anordnen zu können.
Reference Card und einfache Befehle
Emacs ist für seine zahlreichen und komplizierten Tastenkürzel bekannt. Um die ersten Schritte ein wenig sanfter zu gestalten empfiehlt es sich, eine Reference Card auszudrucken, auf der die wichtigsten Tastenküzel stehen. Unter "read a file into Emacs" findet man zum Beispiel die Angabe: C-x C-f. Das bedeutet, dass Control und x und anschließen Control+f gedrückt werden muss.
Effizient-Tipp: Bei solchen Doppelkürzeln kann die Control-Taste einfach gehalten werden. Ein Tastenkürzel wie C-x C-f wird also gemacht, indem man die Control-Taste hält und dann währenddessen nacheinander die x- und die f-Taste drückt.
Auf der Reference Card fällt in den Tastenkürzeln wahrscheinlich auch immer wieder dieses ominöse „M“ auf. Das steht für die Meta-Taste, die es auf aktuellen Tastatur-Layouts nicht mehr gibt. Standardmäßig legt Aquamacs diese auf die Alt-Taste. Wie man die Meta-Taste auf die meiner Meinung nach dafür praktischere Apfel-Taste legt, zeige ich später. Effizienz-Tipp: Mac OS X beherrscht viele der Emacs-Tastenkürzel. Probiert mal im normalen OS X-Betrieb C-k, C-y, C-d, ..
Konfiguration & Erste Schritte
Es gibt wahrscheinlich keinen Editor, der sich individueller konfigurieren lässt als Emacs.
Aquamacs bietet einem dafür zwei Möglichkeiten: Zum einen kann man die langen und leider recht unübersichtlichen halb-grafischen Konfigurationslisten verwenden. Es gibt aber auch noch die Möglichkeit Aquamacs durch Einträge in einer bestimmten Konfigurations-Datei zu individualisieren.
Diese Veränderungen werden komplett in einem speziellen Dialekt der Programmiersprache Lisp gemacht. Wie alles bei Emacs wirkt das am Anfang etwas einschüchternd, bietet aber eine riesige Vielfalt an Möglichkeiten.
Effizient-Tipp: Die Caps-Lock ist eine der größten und am besten erreichbaren Tasten auf der Tastatur. Und eine der nutzlosesten (Ich kann mich nicht daran erinnern sie schonmal absichtlich gedrückt zu haben). Deswegen empfiehlt es sich zusätzlich zu der unterdimensionierten Control-Taste die Caps Lock-Taste ebenfalls als Control-Taste zu verwenden. Dazu geht man in die Systemeinstellungen, dort auf „Tastatur“. Unter Snow Leopard befindet sich rechts unten ein Button „Sondertasten”. Klickt darauf. In dem Fenster, das jetzt erscheint könnt ihr einfach bei „Feststelltaste” den Eintrag „^ ctrl-Taste“ auswählen - schon kann die Caps Lock-Taste etwas nützliches tun!
Einer der Vorteile von Emacs ist, dass er für praktisch jedes Betriebssystem verfügbar ist. Leider ist Aquamacs von Haus aus sehr auf den Mac getrimmt. Gewöhnt man sich zu sehr daran, dann wird man sobald man in der Uni an einem Rechner sitzt bezüglich der gewohnten Positionen der Meta- und Control-Tasten eine böse Überraschung erleben. Deswegen wird die erste Änderung, die wir vornehmen werden eine etwas üblichere Tastenbelegung einzustellen sein. Praktischer Nebeneffekt: Wer keine deutsche Tastatur hat kann in der Standard-Tastenbelegung keine Sonderzeichen und Umlaute, die die alt-Taste benötigen, mehr eingeben. Das funktioniert hinterher wieder.
Die erste echte Aquamacs-Herausforderung ist nun die Konfigurationsdatei zu öffnen. Wir haben vorhin schon gesehen, dass das Tastenkürzel dafür C-x C-f lautet. Führt nun also diesen Tastenkürzel aus.
Vielleicht ist euch schon aufgefallen, dass Aquamacs am unteren Programmrand bisher immer eine leere Zeile gelassen hat. Dabei handelt es sich um den sogenannten Minibuffer, der gleich in Aktion treten wird: Nach dem C-x C-f steht dort „Find file: ”.
Effizienz-Tipp: Wenn ihr eine Datei zu einem früheren Zeitpunkt schon einmal geöffnet habt und keine Lust habt wieder den ganzen Pfad einzutippen, dann probiert mal im Minibuffer die Hoch-/Runter-Tasten aus. Damit wandert man durch die History der geöffneten Dateien. Außerdem bietet der Minibuffer eine automatische Vervollständigung mit der Tab-Taste.
Hinweis: Bitte nicht von den Farben des Programms auf den Screenshots irritieren lassen - wie man die umkonfiguriert zeige ich später.
Die Konfigurationsdatei liegt an folgendem Pfad: ~/Preferences/Library/Aquamacs Emacs/Preferences.el. Tippt also diesen Pfad ein - und vergesst die Auto-Vervollständigung mit Tab nicht! Wirklich tippen muss man nur L<TAB>Pre<TAB>s<TAB>Aq<TAB>Pr<TAB><RETURN> (Kann natürlich je nach Konfiguration etwas variieren, aber ihr versteht, was ich meine...)
Wie man an der Titelleiste direkt über dem Minibuffer sehen kann, wurde nun die Konfigurationsdatei Preferences.el geöffnet.
Wie versprochen kommt nun der Lisp-Code, der für eine Standard-Tastenbelegung sorgt:
Fügt den Code-Schnipsel einfach mit Apfel+V ein. Speichert die Änderungen mit C-x C-s ab. Eigentlich müsste Aquamacs jetzt neu gestartet werden, damit die geänderte Konfigurationen in der Preferences.el berücksichtigt werden. Um eine ganze Datei von Lisp-Code auszuwerten gibt es aber einen Trick: Drückt Alt+x. Der Minibuffer wartet dann auf einen Befehl. Tragt einfach eval-buffer (oder ev<TAB>b<TAB>) ein und eure Änderungen werden geladen. Die vier Zeilen Code haben den Effekt, dass jetzt die Apfeltaste zur Meta-Taste umfunktioniert wurde und dass die Alt-Taste nicht mehr belegt ist. Jetzt seid ihr komplett in der Emacs-Welt angekommen: Ein Apfel+V wird nicht mehr funktionieren, stattdessen müsst ihr jetzt C-y drücken, statt Apfel+C M-w und statt Apfel+X C-w.(setq
ns-command-modifier 'meta
ns-alternate-modifier 'none
ns-use-mac-modifier-symbols nil)
Wo die Preferences.el-Datei schon offen ist, können wir gleich noch ein paar andere Änderungen vornehmen. Kopiert den Lisp-Quelltext einfach mit Apfel+C aus dem Browser heraus und fügt ihn mit C-y wieder in eure Preferences.el ein.
Eine Ausnahme beim Kopieren macht die erste Änderung. Die sorgt nämlich überhaupt erst dafür, dass das Aquamacs-Interne (und wesentlich praktischere und mächtigere) Pasteboard mit dem von OS X interagiert. Klickt also einfach den Paste-Knopf in der Toolbar an:
Um die Änderung wirksam zu machen, drückt M-x (Also, Apfel+x) und gebt wieder wie vorhin eval-buffer ein. Wenn ihr die eingefügt Zeile markiert habe und nicht die ganze Datei evaluieren möchtet, dann geht auch ein eval-region. Damit wird dann nur der markierte Bereich neu ausgewertet.(setq x-select-enable-clipboard t)
Wenn jetzt in OS X normal mit Apfel+C etwas kopiert wird, dann kann es in Aquamacs mit dem vorhin schon erwähnten C-y („Yank”) wieder eingefügt werden.
Als nächsten müssen wir alles loswerden, was Platz verschwendet. Kopiert die folgenden Zeilen einfach in die Preferences.el
Wenn ihr z.B. die Scrollbars weiterhin angezeigt haben wollt, dann lasst einfach die (scroll-bar-mode 0)-Zeile weg.;; Toolbar ausblende
(tool-bar-mode 0)
;; Scrollbar ausblenden
(scroll-bar-mode 0)
;; Zeit in der Modline anzeigen
(display-time)
Man kann in Aquamacs auch leicht weitere Module nachladen. Ich habe zum Beispiel beim Programmieren gerne Zeilennummer am Rand stehen. Das lässt sich folgendermaßen aktivieren:
Der erste Befehl läd das Modul, der zweite aktiviert es.(require 'linum)
(global-linum-mode 1)
Ich habe mir außerdem noch einige praktische Tastenkürzel definiert:
In Emacs hat man die Möglichkeit mehrere Fenster zu öffnen. Standardmäßig kann man bei OS X mit US-Tastaturlayout zwischen den Fenstern eines Programms mit Apfel+` wechseln, bei Aquamacs funktioniert das nach den Änderungen, die wir oben gemacht haben, aber nicht mehr. Die Funktionalität lässt sich aber leicht nachrüsten indem man folgendes in die Preferences.el kopiert:
Außerdem möchte ich mit Tastenkürzeln zwischen den Tabs wechseln, dafür habe ich mir folgende Kürzel definiert:(global-set-key (kbd "M-`") 'other-frame)
Dann soll der Fullscreen-Modus von Aquamacs (hervorragend für konzentriertes Arbeiten geeignet) mit M-Return (also, mit unserer Konfiguration: Apfel+Return) aktiviert werden.(global-set-key (kbd "M-[") 'previous-tab-or-buffer)
(global-set-key (kbd "M-]") 'next-tab-or-buffer)
So, nach den ganzen Änderungen ist ein M-x eval-buffer fällig.(global-set-key (kbd "M-RET") 'aquamacs-toggle-full-frame)
Übersicht-Tipp: Wenn die Preferences.el-Datei zu groß und übersichtlich wird, könnt ihr einfach z.B. eine Keybindings.el im gleichen Ordner anlegen und alles was mit Tastenkürzeln zu tun hat dort hinein kopieren. Damit die Datei trotzdem beim Start geladen wird müsst ihr in die Preferences.el noch ein (load "Keybindings.el") einfügen.
Das Aussehen konfigurieren
Schriftgröße
Um die Schriftgröße oder Schriftart zu ändern, geht auf Options, dann Appearance, dann auf „Font for ...-Mode“. Ihr könnt nun in dem gewohnten Schriften-Fenster eure gewünschte Schriftart und Schriftgröße auswählen. Um die Änderungen zu sichern, geht auf Options, dann ganz unten auf Save Options.
Zenburn
Jetzt müssen wir uns noch um die Farben kümmern.
Ladet euch folgende Datei herunter: http://bitbucket.org/kcfelix/zenburn-theme.el/get/a675796022ab.zip (Falls das nicht klappt auf http://bitbucket.org/kcfelix/zenburn-theme.el und dann oben rechts get source anklicken).
Die Datei zenburn-theme.el muss jetzt in dem Ordner .emacs.d im Home-Verzeichnis kopiert werden.
Dazu gibt es zwei Möglichkeiten:
Öffnet den Finder, drückt Apfel+Shift+G und gebt in das Eingabefeld, das sich nun öffnet ein ~/.emacs.d
Alternativ kann die Datei auch über das Terminal kopiert werden. Liegt die Datei im Downloads-Ordner macht man z.B. folgendes:
Jetzt muss noch dafür gesorgt werden, dass Aquamacs auch das richtige Theme läd. Öffnet dafür mit C-x C-f die Datei ~/Library/Preferences/Aquamacs Emacs/customizations.el. Das ist eine Datei, in die Aquamacs über die Oberfläche gemachte Konfigurationen, wie zum Beispiel eine andere Schriftgröße, einträgt. Wahrscheinlich hat Aquamacs bereits einige eurer Einstellungen aus der Preferences.el übertragen.cp ~/Downloads/zenburn-theme.el .emacs.d
Die Datei wird ungefähr so aussehen:
Hier muss lediglich die fett markierte Zeile eingefügt werden:(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(ns-alternate-modifier (quote none))
'(ns-right-alternate-modifier nil)
'(ns-tool-bar-display-mode nil t)
'(ns-tool-bar-size-mode nil t)
'(tabbar-mode t nil (tabbar)))
Übrigens hat es sich für mich sehr bewährt die Zeilennummern im Zenburn-Modus golden einzufärben. Dafür fügt man, ebenfalls in der Datei customizations.el, in den custom-set-faces-Teil eine Zeile ein. (Je nachdem wieviel ihr verändert hat, kann diese Funktion bei euch anders gefüllt sein!)(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(custom-enabled-themes (quote (zenburn)))
'(ns-alternate-modifier (quote none))
'(ns-right-alternate-modifier nil)
'(ns-tool-bar-display-mode nil t)
'(ns-tool-bar-size-mode nil t)
'(tabbar-mode t nil (tabbar)))
Jetzt habt ihr eine grobe Vorstellung davon, wie Aquamacs konfiguriert wird. Versteht die Einstellungen, die im Rahmen des Tutorials gemacht wurden als Vorschläge und Ausgangsbasis für die Einstellungen, die für euch richtig sind! Es gibt eigentlich nichts, was nicht individualisierbar ist. Bevor ihr aber den endlosen Möglichkeiten verfallt, erstmal noch einige Tipps zu Bedienung von Aquamacs:(custom-set-faces
;; ...
'(emacs-lisp-mode-default ((t inherit autoface-default :height 110 :family "Menlo"))) t)
'(linum ((t foreground "#C4AF00" :height 90)))))
Bedienungs-Basics
Wie man in den Dateien navigiert kann leicht der Reference Card (die ihr hoffentlich mittlerweile ausgedruckt neben euch liegen habt!) entnommen werden.
Buffer
Wie Dateien geöffnet werden, wurde schon ganz am Anfang erklärt. Aber der Vollständigkeit halber: C-x C-f
Der Clou an dem Tastenkürzel: Existiert die Datei nicht, wird sie, sobald ihr mit C-x C-s speichert, angelegt.
Wenn mehrere Dateiein geöffnet sind wird es schnell unpraktisch über die Tab-Leiste zwischen ihnen hin- und her zu wechseln. Die geschickteste Methode dafür ist natürlich mal wieder an ein Tastenkürzel gebunden:
Drückt C-x C-b um eine Auflistung aller geöffneten Buffer zu sehen. Um nun zu zwischen den geöffneten Dateien hin- und her zu wechseln macht man C-x b, tippt die ersten Buchstaben und die TAB-Taste zur Auto-Vervollständigung und drückt Return. Vor allem wenn man viele Dateien auf einmal offen hat, dann ist das eine sehr praktische Methode um schnell zwischen ihnen zu wechseln.
Um eine Datei zu schließen reicht ein C-x k und Return. Wenn man möchte, dann kann man im Minibuffer noch angeben welche Datei geschlossen werden soll. Der Default-Wert ist immer der gerade aktive Buffer.
Übrigens: Aquamacs öffnet automatisch den sogenannten Scratch-Buffer, der wie ein Notizzettel verwendet werden kann. Praktisch um kurz Code-Snippets oder ähnliches zwischenzulagern.
Effizient-Tipp: Wenn ihr Dateien mit Sudo-Rechten öffnen möchtet, dann braucht ihr nicht den Umweg über das Terminal zu gehen: Wenn man ganz normal C-x C-f macht und dann vor die Datei, die man mit Sudo-Rechten öffnen möchte ein /sudo:: hängt, wird man direkt in Aquamacs nach dem root-Passwort gefragt. Beispiel: C-x C-f /sudo::/private/etc/apache2/httpd.conf
Genauso kann man auch Dateien auf einem Server öffnen:
/scp:[email protected]:/home/foo.txt
Emacs Kill-RingGenauso kann man auch Dateien auf einem Server öffnen:
/scp:[email protected]:/home/foo.txt
Der sogenannte Kill-Ring, das Aquamacs-Pendant zum Pasteboard, hat einen entscheidenden Vorteil gegenüber dem Standard-OS X-Pasteboard: Es kann mehrere Text-Schnipsel verwalten.
Um zu verstehen wie das funktioniert, schreibt einfach in ein Aquamacs-Dokument einige Sätze. Wechselt dazu am besten in den Scratch-Buffer, indem ihr C-x b und dann *scratch* (oder *s<TAB>) eingebt. Nachdem ihr dort beliebige Sätze oder Wörter hineingeschrieben habt, markiert einen kleinen Teil davon und drückt M-w (Apfel+W also) um den Bereich in den Kill-Ring zu kopieren. Wiederholt diese Prozedur mehrmals mit unterschiedlichen Bereichen.
Zum Einfügen (Yank) drückt C-y. Der letzte Bereich den ihr kopiert habt, wird eingefügt. Wenn ihr jetzt ein- oder mehrmals M-y drückt, werden stattdessen die Bereiche eingefügt, die ihr vorher kopiert hattet! Da das ganz Kill-Ring, wie der Name unschwer vermuten lässt, ringförmig aufgebaut ist, kommt ihr irgendwann wieder beim ersten Objekt an.
Tiling
Aquamacs kann seine Fenster beliebig unterteilen, was vor allem beim Programmieren ein unschätzbarer Vorteil gegenüber starren IDEs sein kann.
Öffnet irgendeine Datei und maximiert das Aquamacs-Fenster (Mit ShiftIt Apfel+Alt+F drücken).
Ihr solltet so etwas wie auf dem Screenshot sehen:
Als erste soll das Fenster vertikal geteilt werden, das geht mit C-x 3. Euer Aquamacs sollte jetzt so aussehen:
Effizienz-Tipp: Am schnellsten könnt ihr zwischen den Unterteilungen mit C-x o wechseln.
Jetzt soll der rechte Teil noch einmal horizontal unterteilt werden. Klickt den rechten Abschnitt an und drückt C-x 2. Jetzt sollte das Fenster etwa so aussehen:
Teilt jetzt auch noch den linken Teil mit C-x 2 horizontal auf. Beachtet, dass ihr mit der Maus die Trennlinie beliebig verschieben könnt.
Jetzt soll die linke Unterteilung aufgelöst werden. Ich möchte den unteren rechten Teil loswerden. Dafür klickt man ihn an und macht C-x 0.
Nun soll nur noch der obere linke Teil angezeigt werden. Das geht mit C-x 1. Jetzt ist die Ausgangssituation wieder hergestellt.
Spätestens jetzt dürfte euch klar sein, warum es von Vorteil ist die Reference Card ausgedruckt neben sich liegen zu haben... Hat man aber mal einen Überblick gewonnen, ist unglaublich effizientes und schnelles Arbeiten damit möglich!
Beachtet: In jeder diese Unterteilungen könnt ihr mit C-x b einen anderen (oder den gleichen, was auch praktisch sein kann!) Buffer anwählen!
Effizienz-Tipp: Eine Shell von Emacs aus laufen zu lassen hat sein Vorteile, weil man dann die Textverarbeitungs-Features von Emacs zur Verfügung hat. Also: Klickt einfach ein Fenster an und drück M-x, gebt „shell“ in den Minibuffer ein und bestätigt das mit Return. Schon habt ihr eine Shell in Aquamacs zur Verfügung.
Frames
Neben den Unterteilungen könnt ihr auch noch neue Frames erzeugen. Frames sind dabei das, was man unter OS X ganz schlicht als Fenster bezeichnen würde.
Eine Datei öffnet man mit C-x 5 f in eine neuen Frame. Geschlossen wird der Frame dann wieder mit C-x 5 0. Um einen bereits geöffneten Buffer in einem neuen Frame zu öffnen, macht man C-x b <Name des Buffers>.
Konzentrations-Tipp: Nicht vergessen, dass Aquamacs einen tollen Fullscreen-Modus hat! Leider scheint Aquamacs einen Bug zu haben, sodass der M-`-Kürzel, den wir vorhin für das Wechseln zwischen Frames definiert hatten, im Fullscreen-Modus nicht richtig funktioniert. Ist der Fullscreen-Modus aus kann man mit M-` aber leicht zwischen Frames wechseln, wie es auch bei allen anderen Cocoa-Applikationen funktioniert.
An der Stelle empfehle ich ein wenig das Öffnen und Schließen von Dateien zu*üben und mit Frames, Buffern, Fenstern, dem Kill-Ring etc. herumzuspielen.
AucTex
Als Beispiel für ein Modul, das in Aquamacs verwendet werden kann, möchte ich AucTeX vorstellen. Ich gehe davon aus, dass bereits eine Latex-Distribution wie MacTeX installiert ist. Schaut euch zu dem Thema auch das super Tutorial von quarx an.
Der Modus wird automatisch gestartet, wenn man eine Datei mit der tex-Endung öffnet. Erstellt für dieses Tutorial mit C-x C-f eine neue Datei und nennt sie zum Beispiel sample.tex.
Speichert das Dokument mit C-x C-s ab. Mit C-c C-c kann das Latex-Dokument nun kompiliert werden. Nach ein paar Sekunden werdet ihr im besten Fall im Minibuffer „LaTeX: successfully formatted {1} page“ lesen können. Drückt nun C-c C-v um den Standard-PDF Viewer zu starten.
Mit ShiftIt kann man nun leicht in Aquamacs Apfel+Alt+Links drücken, um Aquamacs die linke Hälfte des Bildschirms zuzuweisen und Apfel+Alt+Rechts, um den PDF-Viewer nach Rechts zu schicken. Man erhält so etwas:
An der Stelle sei auf den neuen Menüpunk in Aquamacs hingewiesen:
Hier könnt ihr die nützlichen Tastenkürzel, die AucTeX für euch eingerichtet hat, nachschauen. Zum Beispiel sieht man, dass ein Environment mit C-c C-e eingefügt wird. Setzt den Cursor zwischen \begin{document} und \end{document} und macht das Kürzel. Im Minibuffer fragt AucTeX dann, welche Art von Environment wir einfügen möchten. Es soll eine numerierte Aufzählung werden, also tippt enumerate (oder en<TAB>) und bestätigt mit Return.
Tragt hinter den ersten Item-Eintrag etwas ein. Den nächsten könnt ihr umständlich von Hand tippen - oder einfach C-c C-j eingeben, dann wird der für euch generiert.
Wiederholt das ein paar mal, speichert mit C-x C-s und kompliert mit C-c C-c. Wenn ihr „Vorschau“ als PDF-Viewer verwendet, werdet ihr sehen, dass sich die eure PDF automatisch aktualisiert, wenn ihr sie anklickt. Skim unterstützt dieses Feature auch.
Effizienz-Tipp: Auch AucTeX hat eine Reference Card. http://runtime.bordeaux.inria.fr/smoreaud/enseignements/2007-2008/EDD/tex-ref.pdf
Richtig praktisch wird Aquamacs aber mit dem Preview-Modul, das ebenfalls automatisch geladen wurde. Ergänzt euer Latex-Dokument um Code ein paar Sections und um Formeln (siehe Screenshot).
Klickt nun unter dem Menüpunkt „Preview“ „Generate previews for document“ an.
Wie man sieht, generiert das Preview-Modul Vorschaugrafiken. Sehr nützlich beim unübersichtlichen Formeln oder Tabellen!
Mehr Material: http://www.gnu.org/software/auctex/manual/auctex/
Weitere Module
org-mode
Der org-mode ist so etwas wie der Omni Outliner in viel flexibler und vielseitiger. Man kann es für Vorlesungsnotizen mit viel Latex-Code, zur Strukturierung von Artikeln, als Stechuhr, ToDo-Manager, Tabellen-Kalkulation, Tagebuch und viel mehr verwenden. Und das Beste: Mit MobileOrg kann man über WebDAV und Dropbox das ganze auch noch mit dem iPad oder iPhone synchronisieren.
Der org-mode ist standardmäßig bei Aquamacs dabei, man kann also direkt loslegen.
Material:
http://orgmode.org/
http://www.youtube.com/watch?v=oJTwQvgfgMM&feature=player_embedded
http://sachachua.com/blog/2008/01/outlining-your-notes-with-org/
http://members.optusnet.com.au/~charles57/GTD/orgmode.html
YASnippet
Mit YASnippet ist ein Snippet-Manager. Das ganze funktioniert so, dass man ein Stichwort eingibt und dann*eine Trigger-Taste drückt (z.B. Tab). Daraufhin ersetzt YASnippet das Stichwort durch das eigentlich Snippet.
Gibt mal also zum Beispiel im C-Modus if ein und drückt die Tab-Taste werden alle Klammern usw. eingesetzt.
Man kann sich sehr leicht eigenen Snippets anlegen, was das Modul immens nützlich macht.
http://yasnippet.googlecode.com/svn/trunk/doc/index.html
Autopair
Fügt automatisch wie zum Beispiel Netbeans eine schließende Klammer hinzu, wenn man eine öffnende tippt. Wird aktiviert indem man folgendes einfügt:
Code-Folding(require 'autopair)
(autopair-global-mode)
Kann folgendermaßen in bestimmten Modi aktiviert werden:
Wenn ihr diese Zeilen einfügt und im entsprechenden Modus seid, könnt ihr die nötigen Tastenkürzel dem entsprechenden Menüpunkt entnehmen.(add-hook 'c-mode-common-hook 'hs-minor-mode)
(add-hook 'emacs-lisp-mode-hook 'hs-minor-mode)
(add-hook 'java-mode-hook 'hs-minor-mode)
Letzter Effizienz-Tipp: Wenn ihr ein kompliziertes Wort in einem Dokument bereits getippt habt, dann reicht es wenn ihr die ersten Buchstaben tippt und M-/ drückt. Aquamacs wird das Wort für euch vervollständigen. Wenn's beim ersten mal kein Treffer war, drückt*einfach noch einmal M-/.
Fazit
Seit ich mit verschiedenen Emacsen arbeite, kann ich mir für die meisten Aufgaben nichts Komfortableres vorstellen. Die Dinge, die in diesem Tutorial erwähnt wurden, kratzen gerade einmal die Oberfläche der Möglichkeiten an. Aber vielleicht kann ja das kleine Tutorial den Weg zu Emacs für den ein oder anderen ein wenig ebnen. Viel Spaß!
Über Hinweise auf Unklarheiten, Rechtschreibfehler, etc würde ich mich freuen!
Anhänge
Zuletzt bearbeitet von einem Moderator: