Qual è la differenza tra Aquamacs e le altre versioni Mac di Emacs?


99

Gli utenti Macintosh hanno diverse scelte di Emacs pre-costruiti. Sono a conoscenza delle seguenti versioni:

Alcune domande che avevo in mente:

  1. Queste versioni differiscono in qualche modo significativo?
  2. Si può ottenere la funzionalità degli altri semplicemente modificando il file di inizializzazione?
  3. Queste modifiche tornano a monte?

Sono consapevole che Aquamacs è considerato "non ortodosso" in quanto ha combinazioni di tasti molto simili al Mac, ma sono anche interessato a comprendere le differenze tra le versioni non Aquamacs.


Punto dati: ho appena provato un sacco di questi emacsen e mi sono sistemato sul fork di Yamamoto Mitsuharu. Uso Aquamacs da anni ma si è schiantato frequentemente (qualcosa a che fare con cornici / schede) e non ce la faccio più. Sembra che Aquamacs facesse molte cose che nessun altro ha fatto, ma non è più così. La forcella Yamamoto sembra la scelta migliore per Mac in questo momento.
Scott Fraize,

Di solito uso Aquamacs, ho deciso di preparare questa volta. Un piccolo problema: per ottenere il tasto #, imposta il tipo di input australiano!
Dave Hodgkinson,

Risposte:


126

Emacs per Mac OS X

Emacs per Mac OS X fornisce i binari OS X di GNU Emacs corretti. È più o meno lo stesso che otterresti compilando un tarball di rilascio di GNU Emacs ./configure --with-ns. Il sito fornisce build di versioni e pretest stabili, nonché istantanee notturne. Tutte queste build sono autosufficienti, il che ti consente di provare in sicurezza prove e istantanee.

Si noti tuttavia che questi binari non supportano alcune librerie, in particolare GNU TLS e ImageMagick. Se desideri utilizzarli, il primo è particolarmente importante se desideri leggere i tuoi messaggi su Emacs, devi ottenere GNU Emacs da Homebrew.

Emacs per OS X modificato

Secondo il sito web Emacs per OS X Modified è semplicemente una build standard di GNU Emacs, basata su quanto sopra, con alcuni pacchetti aggiuntivi e la configurazione necessaria per abilitare tutti questi pacchetti.

Con la notevole eccezione di ESS, tutti questi pacchetti sono disponibili attraverso gli archivi dei pacchetti di Emacs per l'installazione in qualsiasi Emacs. Ad esempio, puoi installare AUCTeX in GNU Emacs semplicemente digitando M-x package-install RET auctexe abilitandolo.

La scelta dei pacchetti suggerisce che si rivolge principalmente a statistici e ricerche, che lavorerebbero attraverso i loro dati con R ed ESS, e quindi pubblicheranno un documento con Org o AUCTeX e LaTeX.

Per altri utenti, questa distribuzione è probabilmente di scarso valore, dal momento che dovresti installare comunque pacchetti aggiuntivi e potrebbe anche usare GNU Emacs immediatamente.

Questa è l'unica distribuzione che puoi creare da solo in GNU Emacs installando pacchetti Emacs aggiuntivi e regolando di init.elconseguenza il tuo . Le altre distribuzioni sono varianti patchate e biforcute di GNU Emacs.

Porta Mac di Emacs

Emacs Mac Port è un set di patch per GNU Emacs adatto per una migliore integrazione con OS X. Nota che GNU Emacs ha anche il supporto OS X nativo, ma manca le aggiunte specifiche di OS X, fornite da questo set di patch. In particolare:

  • Testo principale per il rendering del testo, che migliora l'aspetto del testo e il supporto Unicode. Questo è stato unito a GNU Emacs e fa parte di Emacs 24.4.
  • Scorrimento regolare. GNU Emacs scorre in modo corretto in linea, che è molto lento e nervoso con i trackpad. Emacs Mac Port utilizza scorrimento basato su pixel come altre applicazioni OS X native, che si sente molto più liscia ed è molto più preciso. Tuttavia, influisce solo sullo scorrimento del trackpad, quindi se non si utilizza il mouse, non sarà necessario.
  • Gesti. È possibile pizzicare per aumentare / ridurre la dimensione del testo. Ancora una volta, se non usi il mouse, non te ne accorgerai, ed è probabilmente solo una caratteristica di fantasia.
  • Supporto per eventi Apple. Puoi inviare e ricevere Eventi Apple da Emacs Lisp.
  • Servizio dizionario. Toccando con tre dita si cercherà la parola sotto il cursore nell'applicazione Dizionario di Apple, come in altre applicazioni OS X.
  • Integrazione dei servizi. Puoi aprire un file selezionato nel Finder dal menu contestuale di Emacs in esecuzione.
  • Visualizzazione SVG nativa tramite Webkit, anziché librsvg. Webkit ha un supporto SVG migliore per quanto ne so, ma chi visualizza gli SVG in Emacs?

Noterai che la maggior parte di queste funzionalità riguarda semplicemente l'integrazione in OS X e non è essenziale per l'utilizzo di Emacs. Oltre a ciò, Emacs Mac Port è praticamente un Emac GNU standard.

Alcune delle sue funzionalità ritornano in GNU Emacs, ma altre non verranno mai unite, dal momento che sono esclusive di OS X e non disponibili in GNUStep alternativo gratuito, che va contro la politica di FSF per non supportare i sistemi operativi proprietari sulle loro alternative gratuite. Inoltre, se ricordo bene, l'autore di questo patchset ha mostrato scarso interesse a riportare le funzionalità a monte, probabilmente per la prima ragione.

Aquamacs

Aquamacs è un fork pesantemente patchato di GNU Emacs. A differenza di quanto sopra, non si basa su GNU Emacs, ma ha un albero dei sorgenti indipendente. Tuttavia, viene regolarmente sincronizzato con Emacs a monte e segue da vicino le versioni di Emacs. Tuttavia, è inevitabilmente in ritardo dietro il tronco di GNU Emacs.

È fortemente modificato per apparire e sembrare un'applicazione OS X nativa. In particolare, supporta e incoraggia le combinazioni di tasti OS X standard, ad es. Cmd+SPer salvare. Tuttavia, gli attacchi Emacs standard sono ancora disponibili.

Dal momento che è un fork, fortemente modificato e con obiettivi e principi completamente diversi, nessuna delle sue caratteristiche sarà unita a GNU Emacs: la maggior parte di queste modifiche vanno direttamente contro lo "spirito", le idee e la filosofia di GNU Emacs.

TL; DR (o: cosa dovrei scegliere)

  • Se sei uno statistico o un ricercatore e non vuoi configurare Emacs da solo: Emacs per OS X modificato
  • Se vuoi un'applicazione OS X nativa più di ogni altra cosa: Aquamacs
  • Se vuoi Emacs, ma con il miglior supporto OS X possibile: Emacs Mac Port
  • Se vuoi solo Emacs senza complicazioni: Emacs per Mac OS X

Il mio consiglio personale

Non ho mai provato Emacs per OS X Modified o Aquamacs, ma vedo poco uso nel primo (non sono uno statistico e posso installare AUCTeX da solo). Vorrei anche sconsigliare quest'ultimo: è un fork e, sebbene offra la migliore integrazione con OS X, inevitabilmente è in ritardo e riceve meno supporto dalla comunità di Emacs in generale. Molti pacchetti non supportano Aquamacs, quindi se ci sono problemi, c'è una buona possibilità che tu sia lasciato solo come utente Aquamacs.

Ho provato Emacs Mac Port e, mentre lo scorrimento regolare, i gesti e gli eventi Apple sono piacevoli, ho scoperto che questi piccoli vantaggi non valgono la seccatura di mantenere una versione patinata di GNU Emacs. YMMV, ovviamente, e se ti interessa un buon supporto per OS X e se queste funzionalità ti piacciono, dovresti assolutamente provarlo.

Oggi uso solo build di snapshot GNU Emacs. Questi hanno un supporto OS X ragionevolmente buono e sono di gran lunga i più facili da installare e meglio supportati dalla comunità.

Li prendevo da Emacs per Mac OS X, ma ora uso Homebrew, perché supporta più librerie, in particolare GNU TLS per connessioni di rete crittografate.

Tutto sommato: utilizzare brew install emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick:).


8
Bene - neanche usare la porta mac è così difficile. Da github.com/railwaycat/emacs-mac-port : brew tap railwaycat/emacsmacporte poibrew install emacs-mac
Rainer,

3
La "porta Mac" sicuramente non è stata la prima Emacs con supporto GUI OSX nativo. Invece è nato proprio nel periodo in cui Emacs è passato dal vecchio codice "Carbon Emacs" al nuovo codice "Emacs.app" (questa mossa è stata fatta in parte perché Carbon era presumibilmente deprecato da Apple, in parte perché nessuno voleva mantenere quel codice , e in parte perché il codice "Emacs.app" è arrivato con la possibilità di supportare GNUstep. Ad oggi, il supporto GNUstep è sostanzialmente inutilizzabile (anche se occasionalmente viene usato per tracciare e correggere bug sul codice OSX mentre si utilizza un sistema GNU / Linux )).
Stefan,

6
Scrittura eccellente. Alcuni utenti OSX potrebbero essere interessati a sapere che Aquamacs ha il supporto integrato per il controllo ortografico nativo di OSX, che include l'elenco delle parole salvate che l'utente ha precedentemente aggiunto al dizionario. A mio avviso, questa è l'unica caratteristica chiave di Aquamacs che non può essere duplicata in altre versioni di Emacs senza modificare il codice sorgente prima della creazione. Tuttavia, preferisco aspell e timido dall'usare il mouse, quindi il controllo ortografico OSX (anche se molto intelligente in effetti) non è una ragione per me per passare ad Aquamacs.
elenco delle leggi

1
Dichiarazione di non responsabilità: utilizzo Linux e non sono sicuro di OSX, ma scrivo e-mail in Emacs e non ho bisogno di TLS; Chiedo (o meglio mu4e) msmtpinvio e mbsyncrecupero delle mie e-mail.
mbork,

1
Piccolo nit: compilare dalla fonte richiede ./configure --with-ns, non --enable-ns.
Harald Hanche-Olsen,

22

Alcune correzioni fattuali su Aquamacs. Pur mantenendo il proprio albero dei sorgenti, viene regolarmente unito a Emacs e praticamente immediatamente con ogni versione di Emacs. Aquamacs 3.1 è uscito il giorno in cui Emacs 24.4 è stato rilasciato (e ha incorporato tutte le funzionalità di Emacs 24.4 e un sottoinsieme dei suoi bug). Aquamacs ha> 10k utenti regolari, è attivamente supportato.

La porta Mac di Emacs è nata molto più tardi della porta Cocoa e Nextstep di Emacs; è considerato sperimentale e l'autore originale sconsiglia la ridistribuzione al di fuori del suo set di patch. Pertanto, il supporto sarà molto più limitato rispetto a qualsiasi altra soluzione. È una linea di sviluppo interessante, che alla fine fornirà molto valore alla comunità se adottata dagli sviluppatori. Gli utenti dovrebbero considerarsi "beta tester" e contribuire a ciò che possono con buone segnalazioni di bug e patch.

Il valore di Aquamacs risiede nella sua filosofia "ready to roll": LaTeX, EmacsSpeaksStatistics e l'integrazione con Mac funzionano immediatamente. Nessuna configurazione complessa necessaria.


Emacs rilascia solo raramente, quindi se Aquamacs si fonde solo dopo il rilascio, ciò è poco frequente. Ho aggiornato la mia risposta per rimuovere quella parte, però. Inoltre, mentre Aquamacs stesso è attivamente mantenuto e supportato, il supporto della comunità è piuttosto scarso. Pochi pacchetti di terze parti supportano esplicitamente Aquamacs. In effetti, molti pacchetti supportano esplicitamente solo GNU Emacs e non forchette o derivati, inclusi XEmacs o Aquamacs.
lunaryorn,

Hai una fonte per avvisare gli autori delle porte Mac di non ridistribuire parti al di fuori del loro set di patch?
lunaryorn,

@lunaryorn: credo che questo fosse vero al momento, ma non lo è più. Nella mia modifica, ho rimosso quel commento.
davidswelt,

11

Ho provato tutte le opzioni di cui sopra (anche il tocco consigliato da Reiner in un commento sopra) da nessuno ha funzionato bene per me (problemi di scorrimento del trackpad, impiccagioni, ecc.). Sono abbastanza contento, tuttavia, con la biforcazione di Yamamoto Mitsuharu, mantenuta dalla pagina di github della ferrovia. È aggiornato rispetto alla versione ufficiale GNU. Basta scaricare l' .dmgimmagine qui: https://github.com/railwaycat/emacs-mac-port/wiki/Downloads


8
Quando hai del tempo libero, espandi la tua risposta e metti in evidenza le differenze tra questa build particolare e la build vanilla. In questo modo, la tua risposta diventa più di un semplice commento e il lettore non sarebbe tenuto a lasciare questa risposta e visualizzare pagine come: github.com/railwaycat/emacs-mac-port/blob/master/README-mac
elenco delle leggi

0

Stavo usando la versione di Aquamacs fino a poco tempo fa. Il motivo principale per cui preferivo la versione di Auquamacs mentre la stavo usando sul Mac era che ero in grado di usare Dragon Dictate con emacs con le impostazioni predefinite. Quando stavo configurando il mio setup ho avuto problemi con il dettato sulla normale versione di emacs. A parte questo e le combinazioni di tasti predefinite non c'era molta differenza con cui ho interagito. Le mie impostazioni si caricano allo stesso modo. Con le combinazioni di tasti È utile far copiare, tagliare, incollare e annullare gli Appunti usando i cmd-c, i cmd-v, i cmd-x, i cmd-z, gli S-cmd-z appena abituati su mac e che io è stato in grado di farlo automaticamente con una mano sulla tastiera del Mac, ma è possibile impostare quelli nei normali emacs su qualsiasi cosa ti piaccia, auquamacs non è necessario per molte di quelle impostazioni del Mac.

Tuttavia, l'ultima volta che ho controllato gli emac in Auquamacs non era stato aggiornato per un anno e sembrava essere indietro. Stavo anche ricevendo alcuni avvisi di certificato scaduti. Non ero sicuro che fosse ancora mantenuto. Non sembra che sia stato aggiornato sul sito web. Sono stato in grado di installare la normale versione di Emacs per Mac con homebrew e aggiornare il mio file init con le impostazioni per mac che permettevano il funzionamento della dettatura.

Ma di recente ho usato Linuxmint e penso che continuerò a farlo. Il mio sistema è molto più silenzioso, veloce e fluido con Linux ed è facile personalizzare l'aspetto del desktop. Sono state apportate alcune piccole modifiche al file init di emacs nella versione Linux, ma è praticamente lo stesso. Tuttavia, non sono stato in grado di trovare una buona soluzione per la dettatura su Linux. Non so che la mia macchina può gestire un altro sistema operativo in una macchina virtuale solo per il software di dettatura. Anche il software di dettatura è un porco di risorse, ma questo è un altro problema. Sarebbe bello se Dragon pubblicasse una versione di Dictate su Linux.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.