2009-07-08 7 views
30

Es gibt ein paar Lager, wenn es um Emacs auf OSX geht; Kohlenstoff gegen Aqua Emacs. Es scheint, das Argument ist, dass Aqua ein bisschen zu weit vom Standard-Emacs entfernt ist und wenn Sie sich zu wohl fühlen, dann werden Sie Schwierigkeiten haben, einen anderen Build von Emacs zu verwenden.Carbon vs Aqua vs Cocoa Emacs baut

Als Entwickler, der seit einigen Monaten versucht, in Emacs einzusteigen, verwende ich Carbon Emacs mit der Emacs Starting Kit und die Dinge laufen gut.

Aber mit einem Cocoa Build von Emacs kommt mit Emacs 23 (und nächtlichen Builds), wird dies etwas ändern?

Sollte ich die nächtlichen Cocoa-Builds in Erwartung berücksichtigen? Ich bin sehr gespannt auf die Vorteile und auf wesentliche Änderungen oder Verbesserungen der beiden wichtigsten OSX Emacs Apps.

Antwort

28

Als Benutzer seit langer Zeit eine Emacs, würde ich gegen die "exotische" Versionen von Emacs recommand (Aquamacs in dieser Kategorie fällt , aber dieses "Starter Kit" Ding auch, und lassen Sie mich versuchen zu erklären, warum), nur für Finger-Training und Gehirn-Training auch.

Mein Argument ist, dass Sie Emacs ein für allemal lernen wollen, unabhängig von der Plattform (d. H. Kombination von OS/Desktop/Hardware/was auch immer) Sie Emacs auf verwenden. Fast jeder Geschmack von Unix kommt mit einem vorinstallierten Emacs, so dass die Hoffnung ist, dass Sie niemals auf z. B. zurückgreifen müssen. vi, selbst in den feindseligsten Umgebungen (z. B. Bearbeiten einer/etc-Konfigurationsdatei auf einem Remote-HP/UX-Server über ssh). Sie können immer noch den alten Emacs 19 verwenden, der dort sitzt, und selbst wenn er Ihre Konfigurationsdateien nicht hat (also Ihr Starterkit, Ihre Tastenbelegungen und so), sagen Sie immer noch 70% von deine üblichen Bearbeitungsfähigkeiten zur Hand.

Und wenn Sie oft gezwungen werden, diese Datei auf diesem feindlichen Rechner zu bearbeiten, sollten Sie Ihre .emacs-Konfiguration auf diesen alten Emacs so oft wie möglich spiegeln. Natürlich werden Sie auf dem Weg einige Sachen verlieren, die dort nicht unterstützt werden, aber wieder, good'ol Emacs wird immer Emacs sein, auch wenn eine verminderte.

Natürlich, wenn Sie perfekt Ihre Arbeitsumgebung steuern, z. Wenn Sie nur auf Ihrem glänzenden Mac-Laptop arbeiten, möchten Sie vielleicht eine schickere Version von Emacs, nur weil es einfacher ist, Cmd-C/Cmd-V zu verwenden, als Meta-W/Ctrl-Y zu lernen. Und aus dem gleichen Grund, wenn Sie in einer Sprache entwickeln, möchten Sie möglicherweise eine ausgewachsene IDE mit Super-Potenzen verwenden, die auf diese Sprache zugeschnitten sind (z. B. Eclipse, Xcode, was auch immer). Aber Sie wissen, dass irgendwann, Sie eine unerwartete Datei wie ein Shell-Skript oder eine Webseite oder ein Python-Skript oder Wer welche Art von Textdatei bearbeiten müssen, und das ist, warum Sie wollen Verwenden Sie den omnipunktischen One True Editor an erster Stelle.

Und das ist der Grund, warum ich Carbon Emacs auf meinem glänzenden Mac Laptop verwende: Ich bekomme genau die gleichen (emacs) Funktionen auf der Ubuntu Box, die ich bei der Arbeit benutzen muss, mit den exakt gleichen Konfigurationsdateien (handgefertigt) während meiner zehn Jahre Emacsery), und immer noch kann ich mich sehr wohl fühlen auf dem Emacsen anderer Leute oder anderer Maschinen.

... meine zwei Cent

+2

Danke dafür! Sehr aufschlussreich! – mwilliams

+3

Und mit diesem gesagt, mit dem Cocoa Build, der offiziell mit Emacs 23 gebündelt wird, ist es eine sichere Wette, dass, wenn ich eine nette Konfiguration aufplage, es unter anderen Builds von Emacs tragbar sein sollte, richtig? – mwilliams

+0

Ja und Nein: Zuerst müssten Sie die relevanten Teile im Berg des Lispels, der mit Ihren Emacs kommt, extrahieren, aber selbst dann Ihre Fingergewohnheiten (wie Cmd-C/Cmd-V oder Text mit Shift + Pfeil auswählen) Schlüssel) wäre nicht in eine "feindliche" Umgebung übertragbar. Geben Sie "Emacs" in einem Mac OS X Terminalfenster ein, um zu sehen, was ich meine (und stellen Sie sich vor, es könnte viel schlimmer sein ;-) – Gyom

2

Ich verwende Aqua Emacs für eine Weile über den Standard Emacs. Die Dinge, die ich mochte, waren nur eine etwas bessere Systemintegration ... es könnte sein, dass ein offizieller Cocoa-Build von Emacs genügend Standard-System-UI-Integration bieten würde, dass es eine gute Standardauswahl wäre.

Es könnte sich lohnen, die Nightlies auszuprobieren, und sei es nur, um ihnen zu berichten und ihnen zu helfen, Dinge zu stabilisieren.

Die seltsamste Sache für mich über Aqua Emacs ist der Standardmodus für eine .m-Datei ist eigentlich Matlab (die die gleiche Erweiterung verwendet) anstelle von Obj-C-Modus!

Eine Sache, die ich gerne sehen würde, ist größere XCode-Bewusstsein von einem Emacs-Build (wirklich nur Dinge wie Objc-Modus verbessern denke ich).

1
  • Kohlenstoff Emacs emacs ist
  • Cocoa Emacs emacs ist
  • X11 Emacs emacs ist
  • emacs -NW (dh: Kommandozeile nur emacs) Emacs auch
  • Selbst Xemacs nahe genug an Emacs für einen Anfänger, dass Sie den Unterschied über die GUI nicht bemerken würde: D

ich habe nur die Carbon-Emacs auf dem mac (*), aber ich kann mir nicht vorstellen th Es gibt etwas im Cocoa Emacs, das sich von jeder anderen Emacs-Version unterscheidet, die nicht auf eine Konfiguration oder einen Fehler zurückzuführen ist!

(*) ive verwendet, um die X11, Befehlszeile Emacs und Xemacs auf Linux-Plattformen ausgiebig obwohl

+0

Aquamacs unterscheidet sich ein wenig von den regulären Emacs-Distributionen; Viele Tastaturbelegungen sind unterschiedlich und bestehen darauf, ein eigenes System zum Speichern von Voreinstellungen zu verwenden. Das hat mich dazu gebracht, es aufzugeben, da ich versuche, dieselbe Konfiguration für mehrere Installationen verschiedener Maschinen und Betriebssysteme beizubehalten. –

+0

Keybindings können durch Konfigurationsdateien geändert werden, nein? Das ist, was ich in meiner Antwort gesagt habe, die einzigen Unterschiede werden in Config sein. Es sollte keine Angst davor bestehen, einen Emacs vor einem anderen zu verwenden, wenn Sie nur eine Konfigurationsdatei ändern müssen, um sie gleich zu machen. Also lies nochmal, was ich genau gesagt habe;) – hhafez

+0

In diesem Fall ist Emacs komplett Config-Dateien. – Singletoned

0

Für die Untergruppe von Emacs, die ich verwende, gibt es kaum einen Unterschied zwischen auf einem Linux-Box Aquamacs und GNU Emacs. Das ist allgemeine Textbearbeitung, Lisp-Interaktion, Pufferbefehle, neue Rahmen, rechteckige Auswahlbereiche, Standard-Emacs, die Tastaturbelegungen bearbeiten, & c. Ich bearbeite meine .emacs-Datei, um die Konfiguration anzupassen und so weiter. (Ich denke, die grafischen Konfigurationseditor hat die Aquamacs Präferenzen verwenden, wie jemand anderes sagte.)

glaube ich den Trend in den letzten Updates hat sich von traditionellen Emacs Stil weg zu bewegen und in etwas mehr „Mac- wie ", ist es wahr, und ich finde, dass ich diese Optionen abwende. Aber Sie können es nach Ihrem Willen biegen und es traditioneller machen.

8

Ich habe Emacs 23 aus der Quelle gebaut und benutze es seit einiger Zeit mit dem Emacs-Starter-Kit, und ich finde es definitiv ein guter Kompromiss.

Es gibt vernünftige Mac Cmd Verknüpfungen, die in Emacs 23 integriert sind, und emacs-starter-kit macht es einfach, sie auf einer per os/machine/user Basis anzupassen.

Ich würde von der Idee abraten, dass Sie "pure Emacs" lernen sollten, ohne es zu sehr anzupassen. Wenn Sie das tun, dann fehlt Ihnen der halbe Punkt von Emacs. Es ist der anpassungsfähigste Editor aller Zeiten, also passen Sie ihn an.

Wenn Sie ein Sysadmin oder ähnliches sind, und regelmäßig auf seltsame Maschinen hüpfen, dann ist es fair, aber wenn Sie einen Editor wollen, der auf jedem Unix immer derselbe ist, dann ist vim eine viel bessere Wahl (und weiter verfügbar). (Dies ist auch ein guter Grund, vim zu lernen, auch wenn Sie Emacs als Haupt-Editor verwenden).

Es lohnt sich, die klassischen Emacs-Abkürzungen zu lernen, bevor Sie sie ändern. Es gibt normalerweise einen guten Grund, warum sie so sind wie sie sind. Wenn Sie zum Beispiel an TextMate gewöhnt sind, könnten Sie versucht sein, viele Funktionen auf komplexe 5 Schlüsselakkorde von Schlüsseln abzubilden, aber auf lange Sicht ist es viel einfacher, mit den langen Befehlsfolgen, auf die emacs zielt, zu gehen. Es gibt viel weniger Verzerrungen beim Tippen.Sie werden sogar feststellen, dass M-x long-command-name schneller ist als komplexe Akkorde.

Edit:

Also eigentlich um Ihre Frage zu beantworten, ja, sollten Sie die nächtliche Builds (oder besser, kompilieren sie selbst, es ist ganz einfach, mit einem einzigen Google, und man fühlt sich warm und innen). Und weiter mit dem Emacs-Starter-Kit. Irgendwelche Probleme damit, fühle mich frei, mich zu rufen.

+1

+1, Emacs soll modifiziert werden, um die meiste Macht daraus zu bekommen. Vim ist wahrscheinlich eine bessere Wahl für "feindliche Computer". –

+1

Versteh mich nicht falsch, ich rate nicht gegen Anpassung (und alle meine Kilobyte .emacs können aussagen); Ich rate davon ab, exotische "nicht tragbare" Emacsen-Aromen zu verwenden. – Gyom

5

Ich benutze Carbon Emacs selbst und ich ziehe zu Cocoa Port von GNU Emacs, wenn es veröffentlicht wird. Ich denke, dass es keinen großen Unterschied zwischen ihnen gibt. Ich kann allerdings von einigen denken:

  • „Cocoa“ Emacs „echten“ GNU Emacs ist statt einer Gabel wie Carbon-Emacs, wenn Sie also auf dem Laufenden bleiben möchten, und verwenden Sie die neueste Version, Cocoa-Version ist immer verfügbar von GNU CVS.
  • Carbon Emacs enthält einige Elisp-Pakete, die nicht in GNU Emacs enthalten sind. Es gibt eine list zur Verfügung.
  • Cocoa Port ist Version 23, während Carbon-22 Es gibt vielleicht einige Probleme mit dieser in Bezug auf elisp Kompatibilität usw. sein

Ich würde auch bleiben von Aquamacs entfernt. Die Benutzeroberfläche scheint zu mausorientiert zu sein. yuck :)

Verwandte Themen