Care este diferența dintre Aquamacs și alte versiuni de Mac ale Emacs?

Utilizatorii Macintosh au mai multe opțiuni de Emacs pre-construite. Sunt conștient de următoarele versiuni:

Câteva întrebări pe care le aveam în minte:

  1. Aceste versiuni diferă în moduri semnificative?
  2. Se poate obține funcționalitatea celorlalte prin simpla modificare a fișierului de inițializare?
  3. Aceste schimbări își fac drumul înapoi în amonte?

Sunt conștient de faptul că Aquamacs este considerat „neortodox”, deoarece are legături de taste foarte asemănătoare cu Mac, dar sunt și interesat să înțeleg diferențele dintre versiunile non-Aquamacs.

Comentarii

  • Punct de date: Tocmai am încercat o grămadă de aceste emacsen și m-am stabilit pe furculița Yamamoto Mitsuharu ‘. ‘ folosesc Aquamacs de ani de zile, dar ‘ s-a prăbușit frecvent (ceva legat de cadre / file) și nu aș putea ‘ nu mai suport. Se pare că Aquamacs obișnuia să facă o mulțime de lucruri pe care nimeni altcineva nu le făcea, dar că ‘ nu mai este cazul. Furca Yamamoto pare alegerea superioară pentru Mac chiar acum.
  • De obicei folosesc Aquamacs, de această dată am decis să prepar. O problemă minoră: pentru a obține cheia #, setați tipul de intrare australian!

Răspuns

Emacs pentru Mac OS X

Emacs pentru Mac OS X oferă binare OS X ale GNU Emacs propriu-zise. Aproximativ este același lucru pe care l-ați obține compilând un tarball de lansare GNU Emacs cu ./configure --with-ns. Site-ul oferă versiuni de versiuni și testări stabile, precum și instantanee de noapte. Toate aceste versiuni sunt autonome, ceea ce vă permite să încercați în siguranță pretestările și instantaneele.

Rețineți însă că aceste binare nu au suport pentru unele biblioteci, în special GNU TLS și ImageMagick. Dacă doriți să le utilizați – primul este deosebit de important dacă doriți să vă citiți poșta în Emacs – trebuie să obțineți GNU Emacs de la Homebrew.

Emacs pentru OS X modificat

Conform site-ului web Emacs pentru OS X Modified este pur și simplu o versiune standard a GNU Emacs, bazată pe cele de mai sus, cu câteva pachete suplimentare și configurația necesară pentru a activa toate aceste pachete.

Cu excepția notabilă a ESS, toate aceste pachete sunt disponibile prin arhivele de pachete Emacs pentru instalare în orice Emacs. De exemplu, puteți instala AUCTeX în GNU Emacs adecvat prin simpla tastare M-x package-install RET auctex și activarea acestuia.

Alegerea pachetelor sugerează că este orientat în principal către statistici și cercetări, care ar funcționa prin datele lor cu R și ESS, apoi publicați o lucrare cu Org sau AUCTeX și LaTeX.

Pentru alți utilizatori, această distribuție este probabil de mică valoare, deoarece ar trebui să instalați pa suplimentar ckages oricum și ar putea folosi la fel de bine GNU Emacs corect.

Aceasta este singura distribuție pe care o puteți crea în GNU Emacs corect instalând pachete Emacs suplimentare și ajustând init.el în consecință. Celelalte distribuții sunt variante corupte și forțate ale GNU Emacs.

Portul Mac Emacs

Portul Mac Emacs este un set de patch-uri pentru GNU Emacs adecvat pentru o mai bună integrare OS X. Rețineți că GNU Emacs în sine are suport nativ pentru OS X, dar nu are completările specifice OS X, pe care le oferă acest set de patch-uri. În special:

  • Textul principal pentru redarea textului, care îmbunătățește aspectul textului și suportul Unicode. Aceasta a fost îmbinată cu GNU Emacs propriu-zis și face parte din Emacs 24.4.
  • Defilare lină. GNU Emacs derulează corect în funcție de linie, ceea ce este foarte întârziat și sărit cu trackpad-urile. Portul Mac Emacs folosește derularea bazată pe pixeli ca și alte aplicații native OS X, care se simte mult mai ușor și este mult mai precis. Afectează doar derularea trackpad-ului, totuși, deci, dacă nu folosiți mouse-ul, nu veți avea nevoie de el.
  • Gesturi. Puteți ciupi pentru a mări / micșora dimensiunea textului. Din nou, dacă nu folosiți mouse-ul, nu îl veți observa și, fără îndoială, este doar o caracteristică fantezistă.
  • Suport pentru evenimente Apple. Puteți trimite și primi evenimente Apple de la Emacs Lisp .
  • Serviciu de dicționar. Atingerea cu trei degete va căuta cuvântul aflat sub cursor în aplicația Dicționar Apple, la fel ca în alte aplicații OS X.
  • Integrarea serviciilor. Puteți deschide un fișier selectat în Finder din meniul contextual din Emacs care rulează.
  • Afișare SVG nativă folosind Webkit, mai degrabă decât librsvg. Webkit are un sprijin SVG mai bun din câte știu, dar cine vede SVG-urile în Emacs?

Veți observa că majoritatea acestor caracteristici sunt doar preocupate de integrarea în OS X și nu sunt esențiale pentru utilizarea Emacs. În afară de asta, Portul Mac Emacs seamănă destul de mult cu un standard GNU Emacs.

Unele dintre caracteristicile sale își fac drumul înapoi în GNU Emacs, dar altele nu vor fi niciodată combinate, deoarece sunt exclusive pentru OS X și nu sunt disponibile în alternativa gratuită GNUStep, care merge împotriva politica FSF de a nu sprijini sistemele de operare proprietare față de alternativele lor gratuite. De asemenea, dacă îmi amintesc bine, autorul acestui patchset a arătat puțin interes pentru a readuce caracteristicile în amonte, probabil din motivul anterior.

Aquamacs

Aquamacs este o furculiță puternic reparată a GNU Emacs. Spre deosebire de toate cele de mai sus, „nu se bazează pe GNU Emacs, dar are un arbore sursă independent. Totuși, este sincronizat în mod regulat cu Emacs în amonte și urmărește îndeaproape lansările Emacs. Cu toate acestea, inevitabil rămâne în spatele trunchiului GNU Emacs.

Este puternic modificat pentru a arăta și a se simți ca o aplicație OS X nativă. acceptă și încurajează legarea standard a tastelor OS X, de ex. pentru a salva Cmd + S . Legăturile standard Emacs sunt însă disponibile în mare parte.

Deoarece este o furcă, puternic modificată și cu diferite scopuri și principii, niciuna dintre caracteristicile sale nu va fi combinată cu GNU Emacs: Majoritatea acestor modificări merg direct împotriva „spiritului”, ideilor și filosofiei GNU Emacs.

TL; DR (sau: Ce ar trebui Aleg)

  • Dacă sunteți statistician sau cercetător și nu doriți să configurați singur Emacs: Emacs pentru OS X modificat
  • Dacă doriți o aplicație nativă OS X mai mult decât orice altceva: Aquamacs
  • Dacă doriți Emacs, dar cu g suport pentru OS X: Port Mac Emacs
  • Dacă doriți doar Emacs fără complicații : Emacs pentru Mac OS X

Sfatul meu personal

Nu am încercat niciodată Emacs pentru OS X Modified sau Aquamacs, dar văd o utilizare redusă în cele dintâi (nu sunt statistician și pot instala singur AUCTeX). Aș recomanda, de asemenea, împotriva acestuia din urmă: este o furcă și, deși vă oferă cea mai bună integrare OS X, rămâne inevitabil în urmă și primește mai puțin sprijin din partea comunității Emacs în general. Multe pachete nu acceptă Aquamacs, deci dacă există probleme, există șanse mari să rămâneți singur ca utilizator Aquamacs.

Am încercat Emacs Mac Port și, în timp ce derulați fără probleme, gesturi iar evenimentele Apple sunt drăguțe, am constatat că aceste mici beneficii nu merită bătaia de cap a păstra o versiune corecționată a GNU Emacs. YMMV, evident, și dacă aveți grijă de un suport OS OS bun și dacă aceste caracteristici vă atrag, ar trebui să încercați cu siguranță.

În zilele noastre, folosesc doar versiunile instantanee GNU Emacs. Acestea au suport OS X rezonabil de bun și sunt de departe cel mai ușor de instalat și cel mai bine suportat de comunitate.

Obișnuiam să le obțin de la Emacs pentru Mac OS X, dar acum folosesc Homebrew, deoarece acceptă mai multe biblioteci, în special GNU TLS pentru conexiunile de rețea criptate.

Una peste alta: Utilizați brew install emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick :).

Comentarii

  • Ei bine – nici utilizarea portului Mac nu este atât de dificilă. Din github.com/railwaycat/emacs-mac-port : brew tap railwaycat/emacsmacport și apoi brew install emacs-mac
  • ” portul Mac ” cu siguranță nu a fost primul Emacs cu suport OSI GUI nativ . În schimb, s-a născut chiar pe vremea când Emacs a trecut de la vechiul cod ” Carbon Emacs ” la cel mai nou ” Emacs.app ” cod (această mutare a fost făcută parțial pentru că Carbon era probabil depreciat de Apple, parțial pentru că nimeni nu dorea să mențină acel cod și parțial pentru că ” Emacs.app ” codul a venit cu posibilitatea de a suporta GNUstep. Până în prezent, suportul GNUstep este practic inutilizabil (pentru că ‘ este folosit ocazional pentru a urmări și remedia erorile de pe codul OSX în timp ce utilizați un sistem GNU / Linux)).
  • Scriere excelentă. Unii dintre utilizatorii OSX ar putea fi interesați să știe că Aquamacs are suport încorporat pentru verificatorul ortografic nativ OSX, care include lista cuvintelor salvate pe care utilizatorul le-a adăugat anterior în dicționar. În mintea mea, aceasta este singura caracteristică cheie a Aquamacs care nu poate fi duplicată în alte versiuni Emacs fără a modifica codul sursă înainte de a construi. Cu toate acestea, prefer aspell și să mă feresc să folosesc mouse-ul – așa că verificatorul ortografic OSX (deși foarte inteligent într-adevăr) nu este un motiv pentru care să trec la Aquamacs.
  • Renunțare: folosesc Linux și ‘ nu sunt sigur de OSX, dar scriu e-mailuri în Emacs și nu am nevoie de TLS; Eu (sau mai bine zis mu4e) sun la msmtp pentru trimitere și mbsync pentru recuperarea e-mailurilor mele .
  • Minusculă: Compilarea din sursă necesită ./configure --with-ns, nu --enable-ns.

Răspuns

Câteva corecții factuale despre Aquamacs. Deși își păstrează propriul arbore sursă, acesta este fuzionat în mod regulat cu Emacs și aproape imediat la fiecare lansare Emacs. Aquamacs 3.1 a apărut în ziua lansării Emacs 24.4 (și a încorporat toate caracteristicile Emacs 24.4 și un subset al bug-urilor sale). Aquamacs are> 10k utilizatori obișnuiți, este susținut activ.

Portul Mac Emacs a apărut mult mai târziu decât portul Cocoa și Nextstep din Emacs; este considerat experimental și autorul original recomandă împotriva redistribuirii în afara setului său de patch-uri. Ca atare, suportul va fi mult mai limitat decât pentru oricare dintre celelalte soluții. Cu toate acestea, este o linie de dezvoltare interesantă care va oferi în cele din urmă multă valoare comunității dacă va fi adoptată de dezvoltatori. Cu toate acestea, utilizatorii ar trebui să se considere „beta testeri” și să contribuie la ceea ce pot cu rapoarte de erori și patch-uri bune.

Valoarea Aquamacs stă în filozofia sa „gata de rulare”: LaTeX, EmacsSpeaksStatistics și Integrarea Mac funcționează imediat. Nu este necesară nicio configurație complexă.

Comentarii

  • Emacs lansează numai rareori, deci dacă Aquamacs fuzionează numai după lansări, este rare. Totuși, mi-am actualizat răspunsul pentru a elimina acea parte. De asemenea, în timp ce Aquamacs în sine este întreținut și susținut în mod activ, sprijinul comunității este destul de rar. Puține pachete terță parte acceptă în mod explicit Aquamacs. De fapt, multe pachete acceptă în mod explicit doar GNU Emacs și nu orice furculițe sau derivate, inclusiv XEmacs sau Aquamacs.
  • Aveți o sursă pentru sfătuirea autorilor porturilor Mac să nu redistribuie părți în afara lor set de patch-uri?
  • @ lunaryorn: Cred că acest lucru era adevărat la acea vreme, dar nu mai este așa. În ediția mea, am eliminat acel comentariu.

Răspuns

Am încercat toate opțiunile de mai sus (chiar robinetul recomandat de Reiner într-un comentariu de mai sus) de nimeni nu a funcționat bine pentru mine (probleme de derulare a trackpad-ului, suspendări etc.). Cu toate acestea, sunt destul de fericit cu furculița lui Yamamoto Mitsuharu, așa cum este menținută de pagina github a căilor ferate. Este actualizat în ceea ce privește versiunea oficială GNU. Pur și simplu descărcați imaginea .dmg aici: https://github.com/railwaycat/emacs-mac-port/wiki/Downloads

Comentarii

  • Când aveți timp liber, vă rugăm să extindeți răspunsul și să specificați diferențele dintre această versiune specială și versiunea de vanilie. În acest fel, răspunsul dvs. devine mai mult decât un simplu comentariu , iar cititorului nu i se va cere să lase acest răspuns și să vizualizeze pagini precum: github.com/ Railwaycat / emacs-mac-port / blob / master / README-mac

Răspuns

Foloseam versiunea Aquamacs până de curând. Principalul motiv pentru care preferam versiunea Auquamacs în timp ce o foloseam pe Mac a fost că am putut folosi Dragon Dictate cu emacs cu setările implicite. Când îmi configuram configurarea, am avut probleme cu dictarea în versiunea obișnuită de emacs. În afară de asta și legăturile de taste implicite, nu a existat prea multe diferențe cu care am interacționat. Setările mele s-ar încărca în același mod. Cu legăturile de taste este la îndemână să ai clipboardul copiat, tăiat, lipit și anulat folosind cmd-c, cmd-v, cmd-x, cmd-z, S-cmd-z doar din obișnuință pe Mac și că eu a reușit să o facă automat cu o singură mână pe tastatura Mac, dar le puteți seta pe cele din emac-urile obișnuite la orice doriți, auquamacs nu este necesar pentru multe dintre acele setări Mac.

Cu toate acestea, ultima dată Am verificat dacă emacs-ul din Auquamacs nu fusese actualizat de un an și părea să fie în urmă. Primeam, de asemenea, câteva avertismente de certificat expirate. Nu eram sigur dacă era încă întreținut. Nu pare să fi fost actualizat pe site. Am reușit să instalez versiunea obișnuită Emacs pentru Mac cu homebrew și să-mi actualizez fișierul inițial la setările pentru Mac care permiteau dictarea să funcționeze.

Dar am folosit linuxmint recent și cred că voi rămâne cu asta. Sistemul meu este mult mai silențios, mai rapid și mai lin cu Linux și este ușor să personalizați aspectul desktopului. Au fost câteva modificări minore pe care le-am făcut fișierului init emacs în versiunea Linux, dar este cam la fel. Totuși, nu am reușit să găsesc o soluție bună pentru dictarea pe Linux.Nu știu că mașina mea poate gestiona un alt sistem de operare într-o mașină virtuală doar pentru software-ul de dictare. Și software-ul de dictare este o porcărie de resurse, dar aceasta este o altă problemă. Ar fi bine dacă Dragonul ar lansa o versiune de Dictează pe Linux.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *