Was ist der Unterschied zwischen Aquamacs und anderen Mac-Versionen von Emacs?

99

Macintosh-Benutzer haben mehrere Möglichkeiten vorgefertigter Emacs. Mir sind folgende Versionen bekannt:

Einige Fragen, die ich im Sinn hatte:

  1. Unterscheiden sich diese Versionen in wesentlichen Punkten?
  2. Kann man die Funktionalität der anderen erhalten, indem man einfach die Initialisierungsdatei ändert?
  3. Machen diese Änderungen ihren Weg zurück in den Upstream?

Ich bin mir bewusst, dass Aquamacs als "unorthodox" eingestuft wird, da es sehr mac-ähnliche Tastaturbelegungen hat, aber ich bin auch daran interessiert, die Unterschiede zwischen den Nicht-Aquamacs-Versionen zu verstehen.

Eric Brown
quelle
Datenpunkt: Ich habe gerade ein paar dieser Emacsen ausprobiert und mich für Yamamoto Mitsuharus Gabel entschieden. Ich benutze Aquamacs seit Jahren, aber es ist häufig abgestürzt (was mit Frames / Tabs zu tun hat) und ich konnte es nicht mehr ertragen. Es scheint, als ob Aquamacs eine Menge Dinge getan hat, die sonst niemand getan hat, aber das ist nicht mehr der Fall. Die Yamamoto-Gabel scheint derzeit die beste Wahl für Mac zu sein.
Scott Fraize
Ich benutze normalerweise Aquamacs, entschied mich diesmal zu brauen. Eine kleine Kleinigkeit: Um die # -Taste zu erhalten, stellen Sie den australischen Eingabetyp ein!
Dave Hodgkinson

Antworten:

126

Emacs für Mac OS X

Emacs für Mac OS X enthält OS X-Binärdateien von GNU Emacs. Es ist ungefähr das gleiche, was Sie durch das Kompilieren eines GNU Emacs-Release-Tarballs erhalten würden ./configure --with-ns. Die Site bietet Builds stabiler Releases und Pretests sowie nächtliche Snapshots. Alle diese Builds sind eigenständig, sodass Sie sicher Pretests und Snapshots ausprobieren können.

Beachten Sie jedoch, dass diese Binärdateien einige Bibliotheken nicht unterstützen, insbesondere GNU TLS und ImageMagick. Wenn Sie diese verwenden möchten - die erstere ist besonders wichtig, wenn Sie Ihre E-Mails in Emacs lesen möchten -, müssen Sie GNU Emacs von Homebrew beziehen.

Emacs für OS X geändert

Laut der Website ist Emacs für OS X Modified einfach ein Standard-Build von GNU Emacs, basierend auf den oben genannten, mit einigen zusätzlichen Paketen und der erforderlichen Konfiguration, um alle diese Pakete zu aktivieren.

Mit Ausnahme von ESS sind alle diese Pakete über die Emacs-Paketarchive für die Installation in beliebigen Emacs verfügbar. Zum Beispiel können Sie AUCTeX in GNU Emacs installieren, indem Sie es einfach eingeben M-x package-install RET auctexund aktivieren.

Die Auswahl der Pakete deutet darauf hin, dass sie sich hauptsächlich an Statistiker und Forscher richten, die ihre Daten mit R und ESS verarbeiten und dann eine Veröffentlichung mit Org oder AUCTeX und LaTeX veröffentlichen.

Für andere Benutzer ist diese Distribution wahrscheinlich von geringem Wert, da Sie ohnehin zusätzliche Pakete installieren müssten und auch gleich GNU Emacs verwenden könnten.

Dies ist die einzige Distribution, die Sie selbst in GNU Emacs erstellen können, indem Sie zusätzliche Emacs-Pakete installieren und entsprechend anpassen init.el. Die anderen Distributionen sind gepatchte und gespaltene Varianten von GNU Emacs.

Emacs Mac Port

Emacs Mac Port ist ein Patch-Set für GNU Emacs, das für eine bessere OS X-Integration geeignet ist. Beachten Sie, dass GNU Emacs selbst auch native OS X-Unterstützung bietet, jedoch nicht die OS X-spezifischen Ergänzungen, die dieses Patch-Set bietet. Vor allem:

  • Kerntext für das Rendern von Text, der das Erscheinungsbild von Text und die Unicode-Unterstützung verbessert. Dies wurde in GNU Emacs integriert und ist Teil von Emacs 24.4.
  • Flüssiges Scrollen. GNU Emacs korrekte Scrolls zeilenweise, was mit Trackpads sehr lahm und nervös ist. Emacs Mac Port verwendet wie andere native OS X-Anwendungen pixelbasiertes Scrollen, was sich viel flüssiger und präziser anfühlt . Es wirkt sich jedoch nur auf das Scrollen mit dem Trackpad aus. Wenn Sie also die Maus nicht verwenden, brauchen Sie sie nicht.
  • Gesten. Sie können kneifen, um die Textgröße zu erhöhen / zu verringern. Wenn Sie die Maus nicht benutzen, werden Sie es nicht bemerken, und es ist wohl nur eine ausgefallene Funktion.
  • Unterstützung für Apple Events. Sie können Apple Events von Emacs Lisp senden und empfangen.
  • Wörterbuchdienst. Durch Tippen mit drei Fingern wird das Wort unter dem Cursor in Apples Wörterbuch-Anwendung gesucht, wie in anderen OS X-Anwendungen.
  • Integration von Diensten. Sie können eine ausgewählte Datei im Finder über das Kontextmenü im laufenden Emacs öffnen.
  • Native SVG-Anzeige mit Webkit anstelle von Librsvg. Meines Wissens nach bietet Webkit eine bessere SVG-Unterstützung, aber wer sieht SVGs in Emacs an?

Sie werden feststellen, dass die meisten dieser Funktionen lediglich die Integration in OS X betreffen und für die Verwendung von Emacs nicht unbedingt erforderlich sind. Abgesehen davon ist Emacs Mac Port so ziemlich wie ein Standard-GNU-Emacs.

Einige seiner Funktionen finden ihren Weg zurück in GNU Emacs, andere werden jedoch niemals zusammengeführt, da sie exklusiv für OS X sind und nicht in der kostenlosen Alternative GNUStep verfügbar sind, die gegen die Politik der FSF verstößt, proprietäre Betriebssysteme nicht zu unterstützen über ihre freien Alternativen. Wenn ich mich richtig erinnere, hat der Autor dieses Patchsets auch wenig Interesse gezeigt, die Funktionen wieder in den Originalzustand zu versetzen, wahrscheinlich aus dem früheren Grund.

Aquamacs

Aquamacs ist eine stark gepatchte Gabel von GNU Emacs. Im Gegensatz zu all dem oben Genannten basiert es nicht auf GNU Emacs, sondern verfügt über einen unabhängigen Source-Tree. Es wird jedoch regelmäßig mit Emacs upstream synchronisiert und folgt genau den Emacs-Veröffentlichungen. Es bleibt jedoch zwangsläufig hinter GNU Emacs-Stamm zurück.

Es wurde stark modifiziert, um wie eine native OS X-Anwendung auszusehen und sich anzufühlen. Insbesondere werden Standard-Tastenkombinationen für OS X unterstützt und unterstützt, z Cmd+S. B. zum Speichern. Standard-Emacs-Bindungen sind jedoch meist noch verfügbar.

Da es sich um eine Gabel handelt, die stark modifiziert wurde und ganz andere Ziele und Prinzipien verfolgt, wird keines ihrer Merkmale mit GNU Emacs verschmolzen: Die meisten dieser Modifikationen widersprechen direkt dem „Geist“, den Ideen und der Philosophie von GNU Emacs.

TL; DR (oder: Was soll ich auswählen)

  • Wenn Sie Statistiker oder Forscher sind und Emacs nicht selbst einrichten möchten: Emacs für OS X wurde geändert
  • Wenn Sie eine native OS X-Anwendung mehr als alles andere wollen: Aquamacs
  • Wenn Sie Emacs wollen, aber mit so guter OS X-Unterstützung wie möglich: Emacs Mac Port
  • Wenn Sie nur Emacs ohne Komplikationen möchten: Emacs für Mac OS X

Mein persönlicher Rat

Ich habe noch nie Emacs für OS X Modified oder Aquamacs ausprobiert, aber ich sehe darin wenig Verwendung (ich bin kein Statistiker und kann AUCTeX selbst installieren). Ich würde auch gegen Letzteres raten: Es ist ein Fork, und obwohl es die beste OS X-Integration bietet, bleibt es unvermeidlich zurück und wird von der Emacs-Community insgesamt weniger unterstützt. Viele Pakete unterstützen Aquamacs nicht. Wenn es also Probleme gibt, besteht eine gute Chance, dass Sie als Aquamacs-Benutzer in Ruhe gelassen werden.

Ich habe Emacs Mac Port ausprobiert, und obwohl flüssiges Scrollen, Gesten und Apple Events nett sind, stellte ich fest, dass diese kleinen Vorteile den Aufwand nicht wert sind, eine gepatchte Version von GNU Emacs zu behalten. YMMV natürlich, und wenn Sie sich für eine gute OS X-Unterstützung interessieren und diese Funktionen Ihnen zusagen, sollten Sie sie auf jeden Fall ausprobieren.

Heutzutage verwende ich nur GNU Emacs-Snapshot-Builds. Diese unterstützen OS X recht gut, sind bei weitem am einfachsten zu installieren und werden von der Community am besten unterstützt.

Früher habe ich sie von Emacs für Mac OS X bezogen, jetzt verwende ich Homebrew, da es mehr Bibliotheken unterstützt, insbesondere GNU TLS für verschlüsselte Netzwerkverbindungen.

Alles in allem: Verwenden Sie brew install emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick:).

Mondhorn
quelle
8
Nun - die Verwendung des Mac-Ports ist auch nicht so schwierig. Von github.com/railwaycat/emacs-mac-port : brew tap railwaycat/emacsmacportund dannbrew install emacs-mac
Rainer
3
Der "Mac-Port" war definitiv nicht der erste Emacs mit nativer OSX-GUI-Unterstützung. Stattdessen wurde Emacs gleich zu der Zeit geboren, als Emacs vom alten "Carbon Emacs" -Code auf den neueren "Emacs.app" -Code umstieg (dieser Schritt wurde teilweise durchgeführt, weil Carbon vermutlich von Apple veraltet war, teilweise, weil niemand diesen Code beibehalten wollte , und zum Teil, weil der "Emacs.app" -Code die Möglichkeit bot, GNUstep zu unterstützen. Bis heute ist die GNUstep-Unterstützung im Grunde unbrauchbar (obwohl sie gelegentlich verwendet wird, um Fehler im OSX-Code zu verfolgen und zu beheben, während ein GNU / Linux-System verwendet wird )).
Stefan
6
Hervorragendes Schreiben. Einige der OSX-Benutzer möchten möglicherweise wissen, dass Aquamacs die native OSX-Rechtschreibprüfung unterstützt, einschließlich der Liste der gespeicherten Wörter, die der Benutzer dem Wörterbuch zuvor hinzugefügt hat. Meines Erachtens ist dies das wichtigste Merkmal von Aquamacs, das in anderen Emacs-Versionen nicht dupliziert werden kann, ohne den Quellcode vor dem Erstellen zu ändern. Ich bevorzuge jedoch Aspell und scheue die Verwendung der Maus - daher ist die OSX-Rechtschreibprüfung (obwohl sehr geschickt) für mich kein Grund, zu Aquamacs zu wechseln.
Gesetzesliste
1
Haftungsausschluss: Ich verwende Linux und bin mir nicht sicher, ob OSX funktioniert. Ich schreibe jedoch E-Mails in Emacs und benötige kein TLS. Ich mu4erufe msmtpzum Versenden und mbsyncAbrufen meiner E-Mails an.
mbork
1
Kleiner Fehler: Kompilieren aus dem Quellcode erfordert ./configure --with-ns, nicht --enable-ns.
Harald Hanche-Olsen
22

Einige sachliche Korrekturen zu Aquamacs. Während es seinen eigenen Source-Tree pflegt, wird es sehr regelmäßig mit Emacs zusammengeführt, und so ziemlich sofort mit jeder Emacs-Veröffentlichung. Aquamacs 3.1 erschien am Tag der Veröffentlichung von Emacs 24.4 (und enthielt alle Emacs 24.4-Funktionen und eine Teilmenge seiner Fehler). Aquamacs hat> 10k regelmäßige Benutzer, wird aktiv unterstützt.

Der Emacs Mac Port entstand viel später als der Cocoa and Nextstep Port in Emacs; es wird als experimentell angesehen und der ursprüngliche Autor rät von einer Weiterverteilung außerhalb seines Patch-Sets ab. Daher ist der Support wesentlich eingeschränkter als bei allen anderen Lösungen. Es ist jedoch eine interessante Entwicklungslinie, die der Community irgendwann einen großen Nutzen bringen wird, wenn sie von Entwicklern übernommen wird. Benutzer sollten sich jedoch als "Betatester" bezeichnen und mit guten Fehlerberichten und Patches das zurückgeben, was sie können.

Der Wert von Aquamacs liegt in seiner "Ready to Roll" -Philosophie: LaTeX, EmacsSpeaksStatistics und Mac-Integration sind sofort einsatzbereit. Keine komplexe Konfiguration erforderlich.

Davidswelt
quelle
Emacs wird nur selten veröffentlicht. Wenn Aquamacs also erst nach der Veröffentlichung zusammengeführt wird, ist dies selten. Ich habe meine Antwort aktualisiert, um diesen Teil zu entfernen. Auch wenn Aquamacs selbst aktiv gewartet und unterstützt wird, ist die Unterstützung durch die Community eher spärlich. Nur wenige Pakete von Drittanbietern unterstützen Aquamacs ausdrücklich. Tatsächlich unterstützen viele Pakete explizit nur GNU Emacs und keine Forks oder Derivate, einschließlich XEmacs oder Aquamacs.
Lunaryorn
Haben Sie eine Quelle für den Rat der Mac-Port-Autoren, Teile außerhalb ihres Patch-Sets nicht weiterzugeben?
Lunaryorn
@lunaryorn: Ich glaube das war zu der Zeit wahr, aber nicht mehr so. In meiner Bearbeitung habe ich diesen Kommentar entfernt.
Davidswelt
11

Ich habe alle oben genannten Optionen ausprobiert (auch der von Reiner in einem Kommentar oben empfohlene Tipp), von denen keiner für mich gut funktioniert hat (Probleme beim Scrollen des Trackpads, Aufhängen usw.). Ich bin jedoch ziemlich zufrieden mit Yamamoto Mitsuharus Gabel, wie sie von der Github-Seite der Eisenbahn erhalten wurde. Es ist in Bezug auf die offizielle GNU-Version auf dem neuesten Stand. Laden Sie das .dmgBild einfach hier herunter : https://github.com/railwaycat/emacs-mac-port/wiki/Downloads

NVaughan
quelle
8
Wenn Sie etwas Zeit haben, erweitern Sie bitte Ihre Antwort und erläutern Sie die Unterschiede zwischen diesem speziellen Build und dem Vanille-Build. Auf diese Weise ist Ihre Antwort mehr als nur ein Kommentar, und der Leser muss diese Antwort nicht verlassen und Seiten wie die folgenden
anzeigen
0

Ich habe bis vor kurzem die Aquamacs-Version verwendet. Der Hauptgrund, warum ich die Auquamacs-Version bevorzugte, während ich sie auf dem Mac verwendete, war, dass ich Dragon Dictate mit Emacs mit den Standardeinstellungen verwenden konnte. Bei der Konfiguration meines Setups hatte ich Probleme mit dem Diktat der regulären Emacs-Version. Abgesehen davon und den Standard-Tastenkombinationen gab es keinen großen Unterschied, mit dem ich interagierte. Meine Einstellungen würden auf die gleiche Weise geladen. Mit den Tastenkombinationen Es ist praktisch, die Zwischenablage aus Gewohnheit auf einem Mac kopieren, ausschneiden, einfügen und rückgängig machen zu lassen war in der lage es automatisch mit einer hand auf der mac tastatur zu machen, aber du kannst diese in den normalen emacs auf alles einstellen was du willst, auquamacs wird für viele dieser mac einstellungen nicht benötigt.

Als ich das letzte Mal nachgesehen habe, dass der Emacs in Auquamacs seit einem Jahr nicht mehr aktualisiert wurde, schien er im Rückstand zu sein. Ich habe auch einige Warnungen zu abgelaufenen Zertifikaten erhalten. Ich war mir nicht sicher, ob es noch gewartet wurde. Es sieht nicht so aus, als ob es auf der Website aktualisiert wurde. Ich konnte die reguläre Emacs für Mac-Version mit Homebrew installieren und meine Init-Datei auf die Einstellungen für Mac aktualisieren, die das Funktionieren des Diktats ermöglichten.

Aber ich habe in letzter Zeit linuxmint verwendet und ich denke, dass ich dabei bleiben werde. Mein System ist unter Linux viel leiser, schneller und flüssiger, und es ist einfach, das Erscheinungsbild des Desktops anzupassen. Es gab ein paar geringfügige Änderungen, die ich an der emacs init-Datei unter Linux vorgenommen habe, aber es ist so ziemlich dasselbe. Ich habe jedoch keine gute Lösung für das Diktat unter Linux gefunden. Ich weiß nicht, ob mein Gerät ein anderes Betriebssystem in einer virtuellen Maschine nur für die Diktiersoftware ausführen kann. Die Diktiersoftware ist ebenfalls ein Ressourcenfresser, aber das ist ein anderes Problem. Es wäre schön, wenn Dragon eine Version von Dictate unter Linux veröffentlichen würde.

Bryan Aneux
quelle