Eine frohe Adventszeit wünscht Apfeltalk
  • In diesem Bereich findet ihr Tutorials und Reviews. Die Forenrechte zur Erstellung neuer Themen sind hier eingeschränkt, da Problemdiskussionen bitte in den übrigen Forenbereichen auf Apfeltalk zu führen sind. Wer ein Tutorial oder Review einstellen möchte, kann im Unterforum "Einreichung neuer Tutorials" ein neues Thema erstellen. Die Moderatoren verschieben den Beitrag dann in den passenden Bereich.
  • Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Unser Dezember-Wettbewerb steht unter dem Thema Zeitreise - Macht mit und beteiligt Euch mit Euren kreativen Fotos! Zum Wettbewerb --> Klick

Tutorial: Erste Schritte mit Aquamacs

MikeZ

Freiherr von Berlepsch
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.
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.
01metakey.jpg
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!
02capslockmapping.jpg

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: ”.
03dateioeffnen.png
Der Cursor befindet sich jetzt in besagtem Minibuffer. Aquamacs erwartet jetzt, dass hier der Dateiname der Datei, die geöffnet werden soll eingetragen wird.
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:
(setq
ns-command-modifier 'meta
ns-alternate-modifier 'none
ns-use-mac-modifier-symbols nil)
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.
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:
(setq x-select-enable-clipboard t)
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.
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
;; Toolbar ausblende
(tool-bar-mode 0)
;; Scrollbar ausblenden
(scroll-bar-mode 0)
;; Zeit in der Modline anzeigen
(display-time)
Wenn ihr z.B. die Scrollbars weiterhin angezeigt haben wollt, dann lasst einfach die (scroll-bar-mode 0)-Zeile weg.

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:
(require 'linum)
(global-linum-mode 1)
Der erste Befehl läd das Modul, der zweite aktiviert es.

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:
(global-set-key (kbd "M-`") 'other-frame)
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-[") 'previous-tab-or-buffer)
(global-set-key (kbd "M-]") 'next-tab-or-buffer)
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-RET") 'aquamacs-toggle-full-frame)
So, nach den ganzen Änderungen ist ein M-x eval-buffer fällig.
Ü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.
05fontsize.png

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
04gotofolder.png
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:
cp ~/Downloads/zenburn-theme.el .emacs.d
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.
Die Datei wird ungefähr so aussehen:
(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)))
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.
'(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)))
Ü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-faces
;; ...
'(emacs-lisp-mode-default ((t :)inherit autoface-default :height 110 :family "Menlo"))) t)
'(linum ((t :)foreground "#C4AF00" :height 90)))))
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:

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-Ring
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:
06aquamacstiling1.png


Als erste soll das Fenster vertikal geteilt werden, das geht mit C-x 3. Euer Aquamacs sollte jetzt so aussehen:
07aquamacstiling2.png
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:
08aquamacstiling3.png

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.
09aquamacstiling4.png

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.
11newlatexfile.png
An der Modline kann man erkennen, dass jetzt der Latex-Modus aktiviert ist.
12reallylatexmode.png
Schreibt jetzt ein einfaches Latex-Dokument, ähnlich dem auf dem Screenshot:
13simplelatexdoc.png

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.
14simplelatexpreview.png

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:
15latexandshiftit.png

An der Stelle sei auf den neuen Menüpunk in Aquamacs hingewiesen:
16latexpossibilities.png

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.
17insertedenumeration.png

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).
18formelrein.png

Klickt nun unter dem Menüpunkt „Preview“ „Generate previews for document“ an.
19preview.png

Wie man sieht, generiert das Preview-Modul Vorschaugrafiken. Sehr nützlich beim unübersichtlichen Formeln oder Tabellen!
20previewdone.png

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:
(require 'autopair)
(autopair-global-mode)
Code-Folding
Kann folgendermaßen in bestimmten Modi aktiviert werden:
(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)
Wenn ihr diese Zeilen einfügt und im entsprechenden Modus seid, könnt ihr die nötigen Tastenkürzel dem entsprechenden Menüpunkt entnehmen.
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

  • 06aquamacstiling1.png
    06aquamacstiling1.png
    149,4 KB · Aufrufe: 511
Zuletzt bearbeitet von einem Moderator:

Kaso

Erdapfel
Registriert
17.07.10
Beiträge
1
Platz Nummer 1 bei meinen gespeicherten Favoriten!

Dieses kurze und doch ausführliche Tutorial zu Aquamax ist das beste, was ich bisher im Web gefunden hab!
Vielen Dank MikeZ für deine sicher aufwendige Arbeit. Jeder, der sich am Anfang mit Programmierung auf dem Mac schwer tut, wird diesen Beitrag lieben.
Jedenfalls tue ich es und es hat mir bisher sehr geholfen!
 

MikeZ

Freiherr von Berlepsch
Registriert
19.01.05
Beiträge
1.116
Hallo Kaso,
vielen Dank für dein nettes Feedback! Das motiviert ungemein mehr in die Richtung zu machen!

Grüße,
Michael
 

Sk85

Idared
Registriert
27.05.11
Beiträge
25
Hallo,
vielen Dank für dieses super Tutorial!
Nach dem Lesen macht Emacs auf meinem Macbook echt Spaß!
Allerdings hat sich ein kleiner Fehler eingeschlichen, und zwar findet man die Preferences.el im Verzeichnis:
~/Library/Preferences/Aquamacs Emacs/Preferences.el

Da hatte sich bei dir was verdreht ;)


Viele Grüße,
Andy
 

landplage

Admin
AT Administration
Registriert
06.02.05
Beiträge
23.732
Wäre es mit sehr viel Mühe verbunden, die Anleitung noch einmal ins Wiki zu transferieren?
Dort lassen sich auch Änderungen leichter einpflegen.

Vielen Dank (auch wenn ich von der Materie keine Ahnung habe)!
 

MikeZ

Freiherr von Berlepsch
Registriert
19.01.05
Beiträge
1.116
Vielen Dank!

Ich werde nächstes Wochenende mal schauen, dass ich das Tutorial ins Wiki verfrachtet kriege! Und dass der Fehler hier korrigiert wird. :)

Grüße,
Michael
 

MacAlzenau

Golden Noble
Registriert
26.12.05
Beiträge
22.624
Sehr schön gemacht, ganz dicken Dank!
Ich habe zwar noch nie was Produktives mit Emacs und Ablegern gemacht, find's aber seit über 20 Jahren faszinierend - seit ich mal den Spruch dazu gelesen habe (sinngemäß): "Emacs ist toll, ein System für ziemlich alles - nur mit dem Editor hapert's noch ein wenig."
 

ignoramus

Grahams Jubiläumsapfel
Registriert
09.07.09
Beiträge
103
Hallo!

Vielen herzlichen Dank für dieses Tutorial! Ich habe zwar entschieden, beim Vanilla GNU Emacs (http://emacsformacosx.com/) zu bleiben, aber der Ausflug in die Welt des Aquamacs war interessant.

Viele Grüße!
Karl
 

Prion

Braeburn
Registriert
24.04.06
Beiträge
43
Du glaubst es nicht, wie gut ist das denn?
VIELEN Dank für die Arbeit, das alles zusammen zu stellen!
 

Ququq

Alkmene
Registriert
22.01.12
Beiträge
33
Problem mit Aquamacs und Skim/MacTex

Hallo!
Vielen Dank für das schöne Tutorial!

Ich bin auf der Suche nach jemandem der mir helfen kann, meine Installation Aquamacs-Skim-MacTex zum laufen zu bringen. Ich offe, ich bin hier richtig.

Ich kann .tex dateien richtig in Aquamacs öffnen, aber wenn ich compilieren will (Preview), gibt es immer einen Fehler, die Tex-Maschine wird nicht gefunden, scheint mir.
Running `Preview-LaTeX' on `MSconnectivity' with ``pdf -ini -interaction=nonstopmode "&pdf" prv_MSconnectivity.ini latex -synctex=1 --synctex=1 "\nonstopmode\nofiles\PassOptionsToPackage{active,tightpage,auctex}{preview}\AtBeginDocument{\ifx\ifPreview\undefined\RequirePackage[displaymath,floats,graphics,textmath,sections,footnotes]{preview}[2004/11/05]\fi}" "\input" MSconnectivity.tex''/bin/sh: pdf: command not found


Preview-LaTeX exited abnormally with code 127 at Wed Jan 25 07:07:10
Running `Preview-LaTeX' on `_region_' with ``pdf latex -synctex=1 --synctex=1 "\nonstopmode\nofiles\PassOptionsToPackage{active,tightpage,auctex}{preview}\AtBeginDocument{\ifx\ifPreview\undefined\RequirePackage[displaymath,floats,graphics,textmath,sections,footnotes]{preview}[2004/11/05]\fi}" "\input" _region_.tex''
/bin/sh: pdf: command not found


Preview-LaTeX exited as expected with code 127 at Wed Jan 25 07:07:10
LaTeX: LaTeX found no preview images

MacTex ist installiert:
Ququqs-MacBook-Pro% which tex
/usr/texbin/tex

Skim ist ebenfalls da und synch auf Aquamacs Emacs gesetzt.

In Aquamacs ist die option -synctex=1 aktiviert.

Kann mir bitte jemand weiter helfen? Warum klappt das nicht? Was muss ich machen? Wo kann ich weiter suchen?

Vielen herzlichen Dank um Vorraus!
Ququq
 

MikeZ

Freiherr von Berlepsch
Registriert
19.01.05
Beiträge
1.116
Moin,

erst einmal: Danke an alle für's nette Lob :)

@Ququq Der Befehl mit dem bei dir versucht wird die PDF zu generieren sieht für mich komisch aus. Also, dieses Ding hier:
Code:
pdf latex -synctex=1 --synctex=1
Das Leerzeichen zwischen "pdf" und "latex" gehört da nicht hin.

Füg' mal folgendes in deine .emacs Datei ein und probier's nochmal:
Code:
(setq LaTeX-command "pdflatex -synctex=1 -shell-escape")

Das setzt diesen Befehl, mit dem Emacs die Vorschau-PDF generiert, neu.

Grüße,
Michael
 

Ququq

Alkmene
Registriert
22.01.12
Beiträge
33
Hi Mike!

Danke für den Hinweis, den ich befolgt habe. (Die von Dir gemainte ".emacs Datei" ist wohl: ~/Library/Preferences/Aquamacs Emacs/Preferences.el ?)

Hier das Resultat:
Running `Preview-LaTeX' on `MSconnectivity' with ``pdfpdflatex -ini -interaction=nonstopmode "&pdfpdflatex" prv_MSconnectivity.ini "\nonstopmode\nofiles\PassOptionsToPackage{active,tightpage,auctex}{preview}\AtBeginDocument{\ifx\ifPreview\undefined\RequirePackage[displaymath,floats,graphics,textmath,sections,footnotes]{preview}[2004/11/05]\fi}" "\input" MSconnectivity.tex''/bin/sh: pdfpdflatex: command not found


Preview-LaTeX exited abnormally with code 127 at Fri Jan 27 21:45:05
Running `Preview-LaTeX' on `MSconnectivity' with ``pdfpdflatex -synctex=1 -shell-escape --synctex=1 "\nonstopmode\nofiles\PassOptionsToPackage{active,tightpage,auctex}{preview}\AtBeginDocument{\ifx\ifPreview\undefined\RequirePackage[displaymath,floats,graphics,textmath,sections,footnotes]{preview}[2004/11/05]\fi}" "\input" MSconnectivity.tex''
/bin/sh: pdfpdflatex: command not found

Preview-LaTeX exited as expected with code 127 at Fri Jan 27 21:45:05
LaTeX: LaTeX found no preview images

Wenn ich allerdings mit dem (korrigierten Befehl in der Shell kompiliere, funktioniert es!
/usr/texbin/pdflatex -synctex=1 --synctex=1 "\nonstopmode\nofiles\PassOptionsToPackage{active,tightpage,auctex}{preview}\AtBeginDocument{\ifx\ifPreview\undefined\RequirePackage[displaymath,floats,graphics,textmath,sections,footnotes]{preview}[2004/11/05]\fi}" "\input" MSconnectivity.tex''
Es muss tatsächlich an Aquamacs' Einstellungen liegen! Einfach nochmals neu installieren??

Gruss und Dank!
Ququq
 

MikeZ

Freiherr von Berlepsch
Registriert
19.01.05
Beiträge
1.116
Neu installieren wird vermutlich nichts bringen, die Konfiguration bleibt auch in der neuen Installation die gleiche.

Aquamacs scheint an dein Compilier-Kommando das Präfix "pdf" anzuhängen, was zur Folge hat, dass er "pdfpdflatex -synctex=1 -shell-escape --synctex=1 " ausführen möchte – er findet dabei aber natürlich kein Programm pdfpdflatex.

Ich vermute, dass es mit dem PDF-Modus zusammenhängt. Ändere deine Preferences.el mal so, dass folgende beide Einträge darin vorkommen:
Code:
(setq LaTeX-command "pdflatex -synctex=1 -shell-escape")
(setq TeX-PDF-mode nil)

Wenn meine Vermutung stimmt, sollte die zweite Zeile dein Problem beseitigen.

Grüße,
Michael
 

Ququq

Alkmene
Registriert
22.01.12
Beiträge
33
Hi Michael,

Vielen Dank! Ja, jetzt klappt das kompilieren!

Allerdings ist nun die Kopplung zu Skim als automatischer Viewer nicht mehr vorhanden, und View öffnet das PDF in der Preview.app

Zur Info: Wenn ich Deine 2 Zeilen in Preferences.el wieder auskommentiere und dann den PDF mode ausschalte mit C-c C-t C-p, dann kompiliert UND öffnet es automatisch im DVI format in Skim.

Danke für Deine Hilfe!!

Markus
 

MikeZ

Freiherr von Berlepsch
Registriert
19.01.05
Beiträge
1.116
Vermutlich öffnet er die DVIs mit Skim, weil Skim als Standard-DVI-Viewer in deinem OS X registriert ist.

Um auch die PDFs in Skim zu sehen, versuch mal das hier in die Preferences.el hinzuzufügen:

Code:
(add-hook
 'TeX-mode-hook
 (lambda ()
   (add-to-list 'TeX-expand-list
		'("%q" skim-make-url))
	    
   (defun skim-make-url () 
     (concat (TeX-current-line) " "
	     (expand-file-name (funcall file (TeX-output-extension) t)
			       (file-name-directory (TeX-master-file)))
	     " " (buffer-file-name)))
	    
   (setq TeX-view-program-list
	 '(("Skim"
	    "/Applications/Skim.app/Contents/SharedSupport/displayline %q")))
	    
   (setq TeX-view-program-selection '((output-pdf "Skim")))))

Grob sagst du ihm damit wie ("TeX-view-program-list") er das aktuelle File ("skim-make-url") mit welchem Programm ("TeX-view-program-list"/"TeX-view-program-selection") öffnen soll.

Grüße,
Michael
 

Ququq

Alkmene
Registriert
22.01.12
Beiträge
33
Hi Michael!

Whow! Das ist nun echtest Expertenwissen! Vielen Dank! Ja, das klappt.

Ich bin allerdings etwas verunsichert, dass soviel Zusatzprogramierung notwendig ist!

Der Forward-search (=springt im PDF direkt dahin, wo der Cursor in der tex-file steht) funktioniert ebenfalls, jedoch sollte doch auch Backward-search (= springt im der tex-file dorthin wo der Cursor im PDF steht) funktionieren, nicht?
Hättest Du da auch gleich noch die passenden Zeilen bereit?

Vielen herzlichen Dank!
Gruss,
Markus
 

mabe7

Fießers Erstling
Registriert
18.07.10
Beiträge
128
@MikeZ:
über org-mode, das mir hoffentlich aus meinen Organisations-Chaos heraushelfen wird, wurde ich auf Emacs aufmerksam und wollte Aquamacs probieren (auch wegen AucTeX, denn ich arbeite viel mit LaTeX), war aber kurz vor dem Verzweifeln, bis ich diese Anleitung hier fand und kann nur sagen:

VIELEN HERZLICHEN DANK für das super Tutorial!!!!
 

mabe7

Fießers Erstling
Registriert
18.07.10
Beiträge
128
p.s noch eine Frage:
wie erreiche ich jetzt die Tastaturkürzel mit A-
so wie A-z
​für Undo??
 

MikeZ

Freiherr von Berlepsch
Registriert
19.01.05
Beiträge
1.116
Der Forward-search (=springt im PDF direkt dahin, wo der Cursor in der tex-file steht) funktioniert ebenfalls, jedoch sollte doch auch Backward-search (= springt im der tex-file dorthin wo der Cursor im PDF steht) funktionieren, nicht?
Hättest Du da auch gleich noch die passenden Zeilen bereit?

Dafür kommst du ausnahmsweise ganz ohne Programmierung aus! ;)
Geh in Skim in die Einstellungen, wähle "Sync" und stell da "Aquamacs" ein:
Wenn du jetzt in Skim ein Shift + Command + Click in deine PDF machst, sollte Aquamacs an die richtige Stelle in der *.tex-Datei springen.

attachment.php


Falls das nicht funktioniert, melde dich nochmal. Eventuell muss man da den Pfad zum emacsclient genauer angeben. Aber vielleicht klappt's ja auch so.

Grüße,
Michael
 

Anhänge

  • Sync.png
    Sync.png
    82,3 KB · Aufrufe: 6.327
Zuletzt bearbeitet: