Vad är skillnaden mellan Aquamacs och andra Mac-versioner av Emacs?

Macintosh-användare har flera val av förbyggda Emacs. Jag känner till följande versioner:

Några frågor jag tänkte på:

  1. Skillnader i dessa versioner på något betydande sätt?
  2. Kan man få de andras funktionalitet genom att helt enkelt ändra initialiseringsfilen?
  3. Gör dessa ändringar tillbaka uppströms?

Jag är medveten om att Aquamacs anses vara ”oortodox” eftersom det har mycket Mac-liknande tangentbindningar, men jag är också intresserad av att förstå skillnaderna mellan de icke-Aquamacs versionerna.

Kommentarer

  • Datapunkt: Jag har precis provat ett gäng av dessa emacsen och har lagt mig på Yamamoto Mitsuharu ’ s gaffel. Jag ’ har använt Aquamacs i flera år men ’ kraschar ofta (något att göra med ramar / flikar) och jag kunde inte ’ ta det inte längre. Det verkar som om Aquamacs brukade göra många saker som ingen annan gjorde, men att ’ inte är fallet längre. Yamamoto-gaffeln är det bästa valet för Mac just nu.
  • Jag brukar använda Aquamacs, bestämde mig för att brygga den här gången. En mindre nit: för att få # -tangenten, ställ in australiensisk ingångstyp!

Svar

Emacs för Mac OS X

Emacs för Mac OS X tillhandahåller OS X-binärer med GNU Emacs korrekt. Det är ungefär samma som du skulle få genom att kompilera en GNU Emacs release tarball med ./configure --with-ns. Webbplatsen tillhandahåller byggnader av stabila utgåvor och förprovningar samt nattliga ögonblicksbilder. Alla dessa byggnader är fristående, vilket gör att du säkert kan prova förprov och ögonblicksbilder.

Observera dock att dessa binärer saknar stöd för vissa bibliotek, särskilt GNU TLS och ImageMagick. Om du vill använda dessa – det förra är särskilt viktigt om du vill läsa din e-post i Emacs – måste du hämta GNU Emacs från Homebrew.

Emacs för OS X modifierad

Enligt webbplatsen Emacs för OS X Modified är helt enkelt en standardversion av GNU Emacs, baserat på ovanstående, med några ytterligare paket, och nödvändig konfiguration för att aktivera alla dessa paket.

Med undantaget för ESS är alla dessa paket tillgängliga via Emacs ”-paketarkiv för installation i alla Emacs. Till exempel kan du installera AUCTeX i GNU Emacs ordentligt genom att helt enkelt skriva M-x package-install RET auctex och aktivera det.

Valet av paket tyder på att det mestadels riktar sig till statistiker och undersökningar, vilket skulle fungera genom deras data med R och ESS och publicera sedan en uppsats med Org eller AUCTeX och LaTeX.

För andra användare är denna distribution förmodligen av lite värde eftersom du behöver installera ytterligare pa ckages ändå, och kan lika gärna använda GNU Emacs ordentligt direkt.

Detta är den enda distributionen som du själv kan skapa i GNU Emacs korrekt genom att installera ytterligare Emacs-paket och justera ditt init.el i enlighet därmed. De andra distributionerna är patchade och gafflade varianter av GNU Emacs.

Emacs Mac-port

Emacs Mac Port är en patchuppsättning för GNU Emacs korrekt för bättre OS X-integration. Observera att GNU Emacs själv också har inbyggt OS X-stöd, men saknar OS X-specifika tillägg, som denna patchuppsättning ger. Noterbart:

  • Kärntext för textåtergivning, vilket förbättrar textens utseende och Unicode-stöd. Detta slogs samman till GNU Emacs korrekt och är en del av Emacs 24.4.
  • Smidig rullning. GNU Emacs rullar ordentligt linjärt, vilket är mycket laggy och hoppigt med styrplattor. Emacs Mac Port använder pixelbaserad rullning som andra inbyggda OS X-applikationer, vilket känns mycket mjukare och är mycket mer exakt. Det påverkar dock bara styrplattans rullning, så om du inte använder musen behöver du inte den.
  • Gester. Du kan nypa för att öka / minska textstorleken. Återigen, om du inte använder musen kommer du inte att märka det, och det är förmodligen bara en fin funktion.
  • Stöd för Apple-evenemang. Du kan skicka och ta emot Apple-evenemang från Emacs Lisp .
  • Ordbokstjänst. Avtryckning med tre fingrar söker efter ordet under markören i Apples ordboksprogram, som i andra OS X-applikationer.
  • Integration av tjänster. Du kan öppna en markerad fil i Finder från snabbmenyn i pågående Emacs.
  • Inbyggd SVG-skärm med Webkit, snarare än librsvg. Webkit har bättre SVG-stöd såvitt jag vet, men vem ser SVG-filer i Emacs?

Du kommer att märka att de flesta av dessa funktioner bara handlar om integrering i OS X och inte är nödvändiga för att använda Emacs. Förutom det är Emacs Mac Port ungefär som en standard GNU Emacs.

Några av dess funktioner går tillbaka till GNU Emacs, men andra kommer aldrig att slås samman, eftersom de är exklusiva för OS X och inte finns i det gratis alternativet GNUStep, vilket strider mot FSF: s politik att inte stödja egna operativsystem över deras kostnadsfria alternativ. Om jag minns rätt har författaren till denna patchset visat lite intresse för att få funktionerna tillbaka uppströms, förmodligen av den tidigare anledningen.

Aquamacs

Aquamacs är en kraftigt lappad gaffel av GNU Emacs. Till skillnad från alla ovanstående är den ”är inte baserat på GNU Emacs, men har ett oberoende källträd. Det synkroniseras emellertid regelbundet med Emacs uppströms och följer noggrant Emacs-utgåvorna. Det ligger dock oundvikligen bakom GNU Emacs trunk.

Det är kraftigt modifierat för att se ut och kännas som ett inbyggt OS X-program. den stöder och uppmuntrar standard OS X-tangentbindningar, t.ex. Cmd + S för att spara. Standard Emacs-bindningar är dock fortfarande fortfarande tillgängliga.

Eftersom det är en gaffel, kraftigt modifierad och med helt olika syften och principer kommer ingen av dess funktioner att slås samman med GNU Emacs: De flesta av dessa ändringar strider direkt mot ”andan”, idéerna och filosofin hos GNU Emacs.

TL; DR (eller: Vad ska Jag väljer)

  • Om du är statistiker eller forskare och inte vill konfigurera Emacs själv: Emacs för OS X modifierad
  • Om du vill ha ett inbyggt OS X-program mer än allt annat: Aquamacs
  • Om du vill ha Emacs, men med som g ood OS X-stöd som det kan vara: Emacs Mac-port
  • Om du bara vill ha Emacs utan några komplikationer : Emacs för Mac OS X

Mitt personliga råd

Jag har aldrig provat Emacs för OS X Modified eller Aquamacs, men jag ser liten användning i det förra (jag är ingen statistiker och kan installera AUCTeX själv). Jag skulle också rekommendera mot det senare: Det är en gaffel, och även om det ger dig bästa OS X-integration, ligger det oundvikligen efter och får mindre stöd från Emacs-communityn totalt sett. Många paket stöder inte Aquamacs, så om det finns problem har det en god chans för dig att vara ensam som Aquamacs-användare.

Jag försökte Emacs Mac Port, och medan du rullar smidigt gesterar jag och Apple Events är trevliga, jag tyckte att dessa små fördelar inte är värda besväret med att ha en lappad version av GNU Emacs. YMMV, uppenbarligen, och om du bryr dig om bra OS X-stöd, och om dessa funktioner tilltalar dig, bör du definitivt prova det.

Numera använder jag bara GNU Emacs snapshot-byggnader. Dessa har rimligt bra OS X-stöd och är överlägset enklaste att installera och bäst stöds av samhället.

Jag hämtade dem tidigare från Emacs för Mac OS X, men nu använder jag Homebrew, för den stöder fler bibliotek, särskilt GNU TLS för krypterade nätverksanslutningar.

Allt som allt: Använd brew install emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick :).

Kommentarer

  • Tja – att använda Mac-porten är inte heller så svårt. Från github.com/railwaycat/emacs-mac-port : brew tap railwaycat/emacsmacport och sedan brew install emacs-mac
  • ” Mac-port ” var definitivt inte de första Emacs med integrerat OSX GUI-stöd . Istället föddes den precis när Emacs flyttade från den gamla ” Carbon Emacs ” till den nyare ” Emacs.app ” -kod (detta drag gjordes dels för att Carbon förmodligen avskaffades av Apple, dels för att ingen ville behålla den koden, och dels för att ” Emacs.app ” -koden kom med möjligheten att stödja GNUstep. Till denna dag är GNUstep-stödet i princip oanvändbart (det är ’ används ibland för att spåra och fixa buggar på OSX-koden när du använder ett GNU / Linux-system)).
  • Utmärkt skrivning. Vissa av OSX-användarna kan vara intresserade av att veta att Aquamacs har inbyggt stöd för den ursprungliga stavningskontrollen för OSX, som innehåller listan över sparade ord som användaren tidigare har lagt till i ordboken. Enligt min mening är det en nyckelfunktion i Aquamacs som inte kan dupliceras i andra Emacs-versioner utan att ändra källkoden innan du bygger. Men jag föredrar aspell och skämmer bort från att använda musen – så OSX-stavningskontrollen (även om den är väldigt snygg) är inte en anledning för mig att byta till Aquamacs.
  • Ansvarsfriskrivning: Jag använder Linux och jag ’ är inte säker på OSX, men jag skriver e-post i Emacs och behöver inte TLS; Jag (eller snarare mu4e) ringer msmtp för att skicka och mbsync för att hämta mina e-postmeddelanden .
  • Liten nit: Att kompilera från källan kräver ./configure --with-ns, inte --enable-ns.

Svar

Några faktiska korrigeringar om Aquamacs. Medan det behåller sitt eget källträd, slås det mycket regelbundet samman med Emacs, och ganska mycket omedelbart så med varje Emacs-release. Aquamacs 3.1 kom ut dagen Emacs 24.4 släpptes (och den innehöll alla Emacs 24.4-funktioner och en delmängd av dess buggar). Aquamacs har> 10 000 vanliga användare, stöds aktivt.

Emacs Mac-port har sitt ursprung mycket senare än kakao- och Nextstep-porten i Emacs; det anses vara experimentellt och den ursprungliga författaren avråder från omfördelning utanför sin lappuppsättning. Som sådant kommer supporten att vara mycket mer begränsad än för någon av de andra lösningarna. Det är dock en intressant utvecklingslinje som så småningom kommer att ge samhället mycket värde om de antas av utvecklare. Användare bör dock betrakta sig själva som ”beta-testare” och bidra tillbaka vad de kan med bra felrapporter och korrigeringar.

Värdet av Aquamacs ligger i dess ”ready to roll” -filosofi: LaTeX, EmacsSpeaksStatistics och Mac-integration fungerar ur lådan. Ingen komplex konfiguration behövs.

Kommentarer

  • Emacs släpper bara sällan, så om Aquamacs slås samman först efter släpp, är sällsynt. Jag har dock uppdaterat mitt svar för att ta bort den delen. Även om Aquamacs själv upprätthålls och stöds aktivt är gemenskapsstödet ganska gles. Få paket från tredje part stöder Aquamacs uttryckligen. I själva verket stöder många paket uttryckligen bara GNU Emacs, och inte några gafflar eller derivat, inklusive XEmacs eller Aquamacs.
  • Har du en källa för råd från Mac-portförfattarna att inte omfördela delar utanför deras lappuppsättning?
  • @lunaryorn: Jag tror att detta var sant vid den tiden, men inte längre så. I min redigering tog jag bort den kommentaren.

Svar

Jag har provat alla ovanstående alternativ (även kranen som rekommenderas av Reiner i en kommentar ovan) av ingen har fungerat bra för mig (rullningsproblem på styrplattan, hängningar etc.). Jag är dock ganska nöjd med Yamamoto Mitsuharus gaffel, som underhålls av järnvägens github-sida. Det är uppdaterat med avseende på den officiella GNU-versionen. Ladda bara ner .dmg bilden här: https://github.com/railwaycat/emacs-mac-port/wiki/Downloads

Kommentarer

Svar

Jag använde Aquamacs-versionen tills nyligen. Den främsta anledningen till att jag föredrog Auquamacs-versionen medan jag använde den på Mac var att jag kunde använda Dragon Dictate med emacs med standardinställningarna. När jag konfigurerade min inställning hade jag problem med dikteringen på den vanliga emacs-versionen. Annat än det och standardnyckelbindningarna var det inte mycket skillnad som jag interagerade med. Mina inställningar skulle laddas på samma sätt. Med tangentbindningarna är det praktiskt att klippbordet kopierar, klipper, klistrar och ångrar med hjälp av cmd-c, cmd-v, cmd-x, cmd-z, S-cmd-z bara av vana på mac och att jag kunde göra det automatiskt med en hand på mac-tangentbordet, men du kan ställa in dem i vanliga emacs till vad du vill, auquamacs behövs inte för många av dessa mac-inställningar.

Men förra gången Jag kollade emacs i Auquamacs inte hade uppdaterats på ett år och det verkade ligga bakom. Jag fick också några utfärdade certifikatvarningar. Jag var inte säker på om den fortfarande underhålls. Det ser inte ut som om den har uppdaterats på webbplatsen. Jag kunde installera den vanliga Emacs för Mac-versionen med homebrew och uppdatera min init-fil till inställningarna för mac som gjorde det möjligt för dikteringen att fungera.

Men jag har använt linuxmint nyligen och jag tror att jag kommer att hålla fast vid det. Mitt system är mycket tystare, snabbare och smidigare med Linux och det är lätt att anpassa utseendet på skrivbordet. Det gjordes några mindre ändringar i emacs init-filen på Linux-versionen, men det är ungefär detsamma. Jag har dock inte kunnat hitta en bra lösning för dikteringen på Linux.Jag vet inte att min maskin klarar av att köra ett annat operativsystem i en virtuell maskin bara för dikteringsmjukvaran. Diktatmjukvaran är också en resursgris, men det är en annan fråga. Det skulle vara trevligt om Dragon släppte en version av Diktat om Linux.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *