Macintosh-gebruikers hebben verschillende keuzes van vooraf gebouwde Emacs. Ik ken de volgende versies:
- YAMAMOTO Mitsuharu “s versie
- David Caldwell” s versie
- Vincent Goulet “s versie
- David Reitters Aquamacs versie
Enkele vragen die ik in gedachten had:
- Verschillen deze versies op enige significante manier?
- Kan men de functionaliteit van de anderen verkrijgen door simpelweg het initialisatiebestand te wijzigen?
- Gaan deze wijzigingen stroomopwaarts terug?
Ik ben me ervan bewust dat Aquamacs als “onorthodox” wordt beschouwd omdat het zeer Mac-achtige sneltoetsen heeft, maar ik ben ook geïnteresseerd in het begrijpen van de verschillen tussen de niet-Aquamacs-versies.
Reacties
- Datapunt: ik heb zojuist een aantal van deze emacsen geprobeerd en ben uitgekomen op de vork van Yamamoto Mitsuharu ‘. Ik ‘ gebruik Aquamacs al jaren, maar het ‘ crasht vaak (iets dat te maken heeft met frames / tabs) en ik kon ‘ neem het niet meer aan. Het lijkt erop dat Aquamacs vroeger veel dingen deed die niemand anders deed, maar dat ‘ niet meer het geval is. De Yamamoto-vork lijkt op dit moment de beste keuze voor Mac.
- Ik gebruik meestal Aquamacs en besloot deze keer te brouwen. Een klein minpuntje: om de # -toets te krijgen, stelt u het Australische invoertype in!
Answer
Emacs voor Mac OS X
Emacs voor Mac OS X levert OS X-binaries van GNU Emacs zelf. Het is ongeveer hetzelfde wat je zou krijgen als je een GNU Emacs-releasetarball compileert met ./configure --with-ns
. De site biedt builds van stabiele releases en pretests, evenals nachtelijke snapshots. Al deze builds zijn op zichzelf staand, waardoor u veilig pretests en snapshots kunt proberen.
Merk echter op dat deze binaire bestanden ondersteuning missen voor sommige bibliotheken, met name GNU TLS en ImageMagick. Als je deze “wilt gebruiken – de eerste is vooral belangrijk als je” je mail in Emacs wilt lezen – dan moet je GNU Emacs van Homebrew krijgen.
Emacs voor OS X Modified
Volgens de website is Emacs voor OS X Modified gewoon een standaard build van GNU Emacs, gebaseerd op het bovenstaande, met enkele aanvullende pakketten, en de noodzakelijke configuratie om al deze pakketten mogelijk te maken.
Met de opmerkelijke uitzondering van ESS zijn al deze pakketten beschikbaar via Emacs “pakketarchieven voor installatie in elke Emacs. U kunt bijvoorbeeld AUCTeX installeren in GNU Emacs juist door simpelweg M-x package-install RET auctex
te typen en het in te schakelen.
De keuze van pakketten suggereert dat het voornamelijk gericht is op statistici en onderzoekers, die door hun gegevens zouden werken met R en ESS, en publiceer dan een paper met Org of AUCTeX en LaTeX.
Voor andere gebruikers is deze distributie waarschijnlijk van weinig waarde, aangezien je “extra pa ckages sowieso, en je kunt GNU Emacs net zo goed meteen gebruiken.
Dit is de enige distributie die je zelf kunt maken in GNU Emacs door extra Emacs-pakketten te installeren en je dienovereenkomstig. De andere distributies zijn gepatchte en geforkte varianten van GNU Emacs.
Emacs Mac Port
Emacs Mac Port is een patch set voor GNU Emacs juist voor betere OS X-integratie. Merk op dat GNU Emacs zelf ook native OS X-ondersteuning heeft, maar de OS X-specifieke toevoegingen mist die deze patchset biedt. Met name:
- Kerntekst voor tekstweergave, wat de tekstweergave en Unicode-ondersteuning verbetert. Dit werd samengevoegd met GNU Emacs zelf, en maakt deel uit van Emacs 24.4.
- Vloeiend scrollen. GNU Emacs scrolt correct lijngewijs, wat erg traag en springerig is met trackpads. Emacs Mac Port maakt gebruik van pixelgebaseerd scrollen, net als andere native OS X-applicaties, die veel soepeler aanvoelt en veel nauwkeuriger is. Het heeft echter alleen invloed op het scrollen van het trackpad, dus als je de muis niet gebruikt, heb je hem niet nodig.
- Gebaren. U kunt knijpen om de tekstgrootte te vergroten / verkleinen. Nogmaals, als je de muis niet gebruikt, merk je het niet, en het is misschien wel gewoon een mooie functie.
- Ondersteuning voor Apple Events. Je kunt Apple Events verzenden en ontvangen van Emacs Lisp .
- Woordenboekservice. Door met drie vingers te tikken, wordt het woord onder de cursor doorzocht in de Apple Dictionary-applicatie, net als in andere OS X-applicaties.
- Integratie van services. Je kunt een geselecteerd bestand openen in Finder vanuit het contextmenu in Emacs.
- Native SVG-weergave met Webkit, in plaats van librsvg. Webkit heeft voor zover ik weet betere SVG-ondersteuning, maar wie bekijkt SVGs in Emacs?
U zult merken dat de meeste van deze functies alleen betrekking hebben op integratie in OS X, en niet essentieel zijn voor het gebruik van Emacs. Afgezien daarvan is Emacs Mac Port min of meer een standaard GNU Emacs.
Sommige functies vinden hun weg terug naar GNU Emacs, maar andere zullen nooit worden samengevoegd, omdat ze exclusief zijn voor OS X en niet beschikbaar zijn in het gratis alternatief GNUStep, wat in strijd is met de politiek van de FSF om geen propriëtaire besturingssystemen te ondersteunen in plaats van hun gratis alternatieven. Ook, als ik me goed herinner, heeft de auteur van deze patchset weinig interesse getoond om de functies weer stroomopwaarts te brengen, waarschijnlijk om de eerste reden.
Aquamacs
Aquamacs is een sterk gepatchte vork van GNU Emacs. In tegenstelling tot al het bovenstaande, “is niet gebaseerd op GNU Emacs, maar heeft een onafhankelijke source tree. Het wordt echter regelmatig gesynchroniseerd met Emacs stroomopwaarts, en volgt Emacs-releases op de voet. Het blijft echter onvermijdelijk achter bij GNU Emacs-trunk.
Het is sterk aangepast om eruit te zien en aan te voelen als een native OS X-applicatie. het ondersteunt en stimuleert standaard OS X-toetsbindingen, bijv. Cmd + S om op te slaan. Standaard Emacs-bindingen zijn echter meestal nog steeds beschikbaar.
Omdat het een vork is, sterk gewijzigd en met volledig verschillende doelen en principes, zal geen van de functies worden samengevoegd met GNU Emacs: de meeste van deze wijzigingen druisen rechtstreeks in tegen de “geest”, ideeën en filosofie van GNU Emacs.
TL; DR (of: wat zou Ik kies)
- Als je statisticus of onderzoeker bent en je Emacs niet zelf wilt instellen: Emacs voor OS X gewijzigd
- Als je meer een native OS X-applicatie wilt dan al het andere: Aquamacs
- Als je Emacs wilt, maar met als g ood OS X-ondersteuning zoals het kan zijn: Emacs Mac Port
- Als je Emacs gewoon wilt zonder enige complicaties : Emacs voor Mac OS X
Mijn persoonlijk advies
Ik heb Emacs nooit geprobeerd voor OS X Modified of Aquamacs, maar ik zie weinig gebruik in de eerste (ik ben geen statisticus en kan AUCTeX zelf installeren). Ik zou het laatste ook aanraden: het is een vork, en hoewel het je de beste OS X-integratie geeft, blijft het onvermijdelijk achter en krijgt het in het algemeen minder steun van de Emacs-gemeenschap. Veel pakketten ondersteunen Aquamacs niet, dus als er problemen zijn, is de kans groot dat je met rust gelaten wordt als Aquamacs-gebruiker.
Ik heb Emacs Mac Port geprobeerd, en terwijl ik vlot scrolde, gebaren en Apple Events leuk zijn, vond ik dat deze kleine voordelen het gedoe van het behouden van een gepatchte versie van GNU Emacs niet waard zijn. YMMV, natuurlijk, en als je om goede OS X-ondersteuning geeft, en als deze functies je aanspreken, moet je het zeker proberen.
Tegenwoordig gebruik ik alleen GNU Emacs snapshot-builds. Deze hebben redelijk goede OS X-ondersteuning en zijn verreweg het gemakkelijkst te installeren, en het beste ondersteund door de gemeenschap.
Vroeger kreeg ik ze van Emacs voor Mac OS X, maar nu gebruik ik Homebrew, omdat het ondersteunt meer bibliotheken, met name GNU TLS voor gecodeerde netwerkverbindingen.
Al met al: gebruik brew install emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick
:).
Reacties
- Nou – het gebruik van de mac-poort is ook niet zo moeilijk. Van github.com/railwaycat/emacs-mac-port :
brew tap railwaycat/emacsmacport
en vervolgensbrew install emacs-mac
- De ” Mac-poort ” was zeker niet de eerste Emacs met native OSX GUI-ondersteuning . In plaats daarvan werd het geboren rond de tijd dat Emacs verhuisde van de oude ” Carbon Emacs ” -code naar de nieuwere ” Emacs.app ” code (deze verplaatsing werd gedeeltelijk gedaan omdat Carbon vermoedelijk door Apple werd afgeschaft, gedeeltelijk omdat niemand die code wilde behouden, en gedeeltelijk omdat de ” Emacs.app ” code kwam met de mogelijkheid om GNUstep te ondersteunen. Tot op de dag van vandaag is de ondersteuning van GNUstep in principe onbruikbaar (hoewel het ‘ s worden af en toe gebruikt om bugs in de OSX-code op te sporen en op te lossen tijdens het gebruik van een GNU / Linux-systeem)).
- Uitstekende beschrijving. Sommige OSX-gebruikers zijn wellicht geïnteresseerd in de wetenschap dat Aquamacs ingebouwde ondersteuning heeft voor de native OSX-spellingcontrole, die de lijst met opgeslagen woorden bevat die de gebruiker eerder aan het woordenboek heeft toegevoegd. Naar mijn mening is dat het enige belangrijke kenmerk van Aquamacs dat niet kan worden gedupliceerd in andere Emacs-versies zonder de broncode aan te passen voordat het wordt gebouwd. Ik geef echter de voorkeur aan aspell en schrik terug om de muis te gebruiken – dus de OSX-spellingcontrole (hoewel erg handig) is voor mij geen reden om over te schakelen naar Aquamacs.
- Disclaimer: ik gebruik Linux, en ik ‘ ben niet zeker van OSX, maar ik schrijf e-mail in Emacs en heb geen TLS nodig; Ik (of liever
mu4e
) belmsmtp
voor het verzenden enmbsync
voor het ophalen van mijn e-mails . - Kleine nit: compileren vanaf de bron vereist
./configure --with-ns
, niet--enable-ns
.
Antwoord
Een paar feitelijke correcties over Aquamacs. Hoewel het zijn eigen broncodeboom onderhoudt, wordt het zeer regelmatig samengevoegd met Emacs, en vrijwel onmiddellijk met elke Emacs-release. Aquamacs 3.1 kwam uit op de dag dat Emacs 24.4 werd uitgebracht (en het bevatte alle Emacs 24.4-functies en een subset van zijn bugs). Aquamacs heeft> 10.000 regelmatige gebruikers, wordt actief ondersteund.
De Emacs Mac Port is veel later ontstaan dan de Cocoa en Nextstep port in Emacs; het wordt als experimenteel beschouwd en de oorspronkelijke auteur raadt herdistributie buiten zijn patchset af. Als zodanig zal de ondersteuning veel beperkter zijn dan bij alle andere oplossingen. Het is echter een interessante ontwikkelingslijn die uiteindelijk veel waarde zal opleveren voor de gemeenschap als deze door ontwikkelaars wordt aangenomen. Gebruikers moeten zichzelf echter als “bètatesters” beschouwen en bijdragen wat ze kunnen met goede bugrapporten en patches.
De waarde van Aquamacs ligt in zijn “ready to roll” -filosofie: LaTeX, EmacsSpeaksStatistics en Mac-integratie werkt uit de doos. Geen ingewikkelde configuratie nodig.
Reacties
- Emacs releases slechts zelden, dus als Aquamacs pas na releases fuseert, is dat zeldzaam. Ik heb mijn antwoord bijgewerkt om dat deel te verwijderen. Hoewel Aquamacs zelf actief wordt onderhouden en ondersteund, is de steun van de gemeenschap vrij schaars. Er zijn maar weinig pakketten van derden die Aquamacs expliciet ondersteunen. In feite ondersteunen veel pakketten expliciet alleen GNU Emacs, en geen forks of afgeleiden, inclusief XEmacs of Aquamacs.
- Heb je een bron voor het advies van de Mac-portauteurs om delen niet te herdistribueren buiten hun patch set?
- @lunaryorn: ik geloof dat dit op dat moment waar was, maar nu niet meer. Bij mijn bewerking heb ik die opmerking verwijderd.
Antwoord
Ik heb alle bovenstaande opties geprobeerd (zelfs de kraan aanbevolen door Reiner in een opmerking hierboven) door niemand hebben goed gewerkt voor mij (problemen met scrollen op het trackpad, ophangingen, enz.). Ik ben echter best tevreden met de vork van Yamamoto Mitsuharu, die wordt onderhouden door de github-pagina van de spoorweg. Het is up-to-date met betrekking tot de officiële GNU-versie. Download eenvoudig de .dmg
afbeelding hier: https://github.com/railwaycat/emacs-mac-port/wiki/Downloads
Reacties
- Als je wat vrije tijd hebt, geef dan een toelichting op je antwoord en zet de verschillen tussen deze specifieke build en de vanille-build uiteen. Op die manier wordt uw antwoord meer dan alleen een opmerking en hoeft de lezer dit antwoord niet te verlaten en paginas te bekijken zoals: github.com/ railwaycat / emacs-mac-port / blob / master / README-mac
Antwoord
Ik gebruikte tot voor kort de Aquamacs-versie. De belangrijkste reden dat ik de voorkeur gaf aan de Auquamacs-versie terwijl ik deze op de Mac gebruikte, was dat ik Dragon Dictate kon gebruiken met emacs met de standaardinstellingen. Toen ik mijn setup aan het configureren was, had ik problemen met het dicteren op de reguliere emacs-versie. Behalve dat en de standaard sneltoetsen was er niet veel verschil waarmee ik communiceerde. Mijn instellingen worden op dezelfde manier geladen. Met de sneltoetsen Het is handig om het klembord te laten kopiëren, knippen, plakken en ongedaan maken met behulp van de cmd-c, cmd-v, cmd-x, cmd-z, S-cmd-z gewoon uit gewoonte op mac en dat doe ik was in staat om het automatisch te doen met één hand op het mac-toetsenbord, maar je kunt die in de reguliere emacs instellen op wat je maar wilt, auquamacs is niet nodig voor veel van die mac-instellingen.
Echter, de laatste keer Ik controleerde of de emacs in Auquamacs al een jaar niet waren bijgewerkt en het leek achter te lopen. Ik ontving ook waarschuwingen voor verlopen certificaten. Ik wist niet zeker of het nog werd onderhouden. Het ziet er niet naar uit dat het op de website is bijgewerkt. Ik was in staat om de reguliere Emacs voor Mac-versie met homebrew te installeren en mijn init-bestand bij te werken naar de instellingen voor mac die het mogelijk maakten om te dicteren.
Maar ik gebruik de laatste tijd linuxmint en ik denk dat ik daar bij zal blijven. Mijn systeem is een stuk stiller, sneller en soepeler met Linux en het is gemakkelijk om het uiterlijk van het bureaublad aan te passen. Er waren een paar kleine wijzigingen die ik heb aangebracht in het emacs init-bestand op de Linux-versie, maar het is vrijwel hetzelfde. Ik heb echter geen goede oplossing kunnen vinden voor het dicteren onder Linux.Ik weet niet of mijn machine alleen voor de dicteersoftware een ander besturingssysteem op een virtuele machine kan draaien. De dicteersoftware is ook een bron van hulpbronnen, maar dat is een ander probleem. Het zou leuk zijn als Dragon een versie van Dicteer op Linux.