Jaka jest różnica między Aquamacsem a innymi wersjami Emacsa na komputery Mac?

Użytkownicy komputerów Macintosh mają do wyboru kilka gotowych wersji Emacs. Znam następujące wersje:

Kilka pytań, które miałem na myśli:

  1. Czy te wersje różnią się w jakikolwiek znaczący sposób?
  2. Czy można uzyskać funkcjonalność innych, po prostu modyfikując plik inicjalizacyjny?
  3. Czy te zmiany trafiają z powrotem do źródła?

Zdaję sobie sprawę, że Aquamacs jest uważany za „nieortodoksyjny”, ponieważ ma przypisania klawiszy bardzo podobne do Maców, ale jestem również zainteresowany zrozumieniem różnic między wersjami innymi niż Aquamacs.

Komentarze

  • Punkt danych: właśnie wypróbowałem kilka z tych emacsena i zdecydowałem się na widelec Yamamoto Mitsuharu '. ' używam Aquamacs od lat, ale ' często się zawiesza (coś związanego z ramkami / kartami) i nie mogłem ' już tego nie bierz. Wygląda na to, że Aquamacs robił wiele rzeczy, których nikt inny nie robił, ale ' już tak nie jest. Widelec Yamamoto wydaje się teraz najlepszym wyborem dla komputerów Mac.
  • Zwykle używam Aquamacs, tym razem zdecydowałem się parzyć. Jedna drobna nitka: aby uzyskać klawisz #, ustaw typ wejścia australijskiego!

Odpowiedź

Emacs dla Mac OS X

Emacs dla Mac OS X dostarcza pliki binarne dla OS X właściwego GNU Emacsa. To mniej więcej to samo, co można uzyskać, kompilując paczkę z wydaniem GNU Emacs za pomocą ./configure --with-ns. Witryna zapewnia kompilacje stabilnych wydań i testów wstępnych, a także nocne migawki. Wszystkie te kompilacje są niezależne, co pozwala bezpiecznie wypróbowywać testy wstępne i migawki.

Zauważ jednak, że te pliki binarne nie obsługują niektórych bibliotek, zwłaszcza GNU TLS i ImageMagick. Jeśli chcesz ich używać – to pierwsze jest szczególnie ważne, jeśli chcesz czytać pocztę w Emacsie – musisz pobrać GNU Emacs z Homebrew.

Emacs for OS X Modified

Według strony internetowej Emacs for OS X Modified jest po prostu standardową wersją GNU Emacs, opartą na powyższym, z kilkoma dodatkowymi pakietami i niezbędna konfiguracja, aby włączyć wszystkie te pakiety.

Z godnym uwagi wyjątkiem ESS, wszystkie te pakiety są dostępne za pośrednictwem archiwów pakietów Emacsa do instalacji w dowolnym Emacsie. Na przykład możesz zainstalować AUCTeX w GNU Emacs wystarczy wpisać M-x package-install RET auctex i włączyć go.

Wybór pakietów sugeruje, że jest on skierowany głównie do statystyków i badaczy, którzy będą pracować na ich danych z R i ESS, a następnie opublikuj artykuł w Org lub AUCTeX i LaTeX.

Dla innych użytkowników ta dystrybucja ma prawdopodobnie niewielką wartość, ponieważ musiałbyś zainstalować dodatkową pa ckages tak czy inaczej, i równie dobrze możesz od razu użyć właściwego GNU Emacsa.

Jest to jedyna dystrybucja, którą możesz samodzielnie stworzyć w GNU Emacs, instalując dodatkowe pakiety Emacsa i dostosowując init.el odpowiednio. Inne dystrybucje to załatane i rozwidlone warianty GNU Emacsa.

Emacs Mac Port

Emacs Mac Port to zestaw poprawek dla GNU Emacsa, zapewniający lepszą integrację z OS X. Zwróć uwagę, że sam GNU Emacs ma również natywną obsługę OS X, ale brakuje mu specyficznych dodatków dla OS X, które zapewnia ten zestaw poprawek. W szczególności:

  • Podstawowy tekst do renderowania tekstu, który poprawia wygląd tekstu i obsługę Unicode. Zostało to włączone do właściwego GNU Emacsa i jest częścią Emacsa 24.4.
  • Płynne przewijanie. GNU Emacs poprawnie przewija wierszowo, co jest bardzo opóźnione i skakane w przypadku trackpadów. Emacs Mac Port wykorzystuje przewijanie oparte na pikselach, podobnie jak inne natywne aplikacje OS X, które działają dużo płynniej i są znacznie dokładniejsze. Ma to jednak wpływ tylko na przewijanie gładzika, więc jeśli nie używasz myszy, nie będziesz jej potrzebować.
  • Gesty. Możesz szczypać, aby zwiększyć / zmniejszyć rozmiar tekstu. Ponownie, jeśli nie używasz myszy, nie zauważysz tego i jest to prawdopodobnie po prostu wymyślna funkcja.
  • Obsługa wydarzeń Apple. Możesz wysyłać i odbierać wydarzenia Apple z programu Emacs Lisp .
  • Usługa słownika. Stuknięcie trzema palcami spowoduje wyszukanie słowa pod kursorem w aplikacji Słownik Apple, podobnie jak w innych aplikacjach OS X.
  • Integracja usług. Możesz otworzyć wybrany plik w Finderze z menu kontekstowego w uruchomionym Emacsie.
  • Natywne wyświetlanie SVG przy użyciu Webkit zamiast librsvg. O ile wiem, Webkit ma lepsze wsparcie dla SVG, ale kto ogląda SVG w Emacsie?

Zauważysz, że większość z tych funkcji dotyczy tylko integracji z OS X i nie są niezbędne do używania Emacsa. Poza tym, Emacs Mac Port jest prawie jak standardowy GNU Emacs.

Niektóre z jego funkcji powracają do GNU Emacs, ale inne nigdy nie zostaną scalone, ponieważ są dostępne wyłącznie dla OS X i nie są dostępne w wolnej alternatywnej wersji GNUStep, co jest sprzeczne z polityka FSF polegająca na nieobsługiwaniu zastrzeżonych systemów operacyjnych zamiast ich darmowych alternatyw. Ponadto, jeśli dobrze pamiętam, autor tego zestawu poprawek nie wykazał zainteresowania przywróceniem funkcji z powrotem do głównego nurtu, prawdopodobnie z tego pierwszego powodu.

Aquamacs

Aquamacs to mocno poprawiony rozwidlenie GNU Emacs. W przeciwieństwie do wszystkich powyższych, nie jest oparty na GNU Emacs, ale ma niezależne drzewo źródeł. Jest jednak regularnie synchronizowany z Emacsem i ściśle podąża za wydaniami Emacsa. Nieuchronnie pozostaje jednak w tyle za linią główną GNU Emacs.

Jest mocno zmodyfikowany, aby wyglądał i działał jak natywna aplikacja OS X. obsługuje i zachęca do standardowych przypisań klawiszy OS X, np. Cmd + S do zapisywania. Standardowe wiązania Emacsa są jednak w większości nadal dostępne.

Ponieważ jest to rozwidlenie, mocno zmodyfikowane i całkowicie różne cele i zasady, żadna z jego funkcji nie zostanie połączona z GNU Emacs: Większość tych modyfikacji jest bezpośrednio sprzeczna z „duchem”, ideami i filozofią GNU Emacs.

TL; DR (lub: Co powinno Wybieram)

  • Jeśli jesteś statystykiem lub badaczem i nie chcesz samodzielnie konfigurować Emacsa: Emacs dla OS X zmodyfikowany
  • Jeśli potrzebujesz natywnej aplikacji OS X bardziej niż wszystko inne: Aquamacs
  • Jeśli chcesz Emacsa, ale z as g Obsługa ood OS X, jaka może być: Emacs Mac Port
  • Jeśli chcesz po prostu Emacsa bez żadnych komplikacji : Emacs dla Mac OS X

Moja osobista rada

Nigdy nie próbowałem Emacsa dla OS X Modified lub Aquamacs, ale nie widzę pożytku z tego pierwszego (nie jestem statystykiem i mogę samodzielnie zainstalować AUCTeX). Odradzałbym również to drugie: jest to rozwidlenie i chociaż zapewnia najlepszą integrację z OS X, nieuchronnie pozostaje w tyle i ogólnie otrzymuje mniejsze wsparcie ze strony społeczności Emacsa. Wiele pakietów nie obsługuje Aquamacs, więc jeśli wystąpią problemy, istnieje duża szansa, że zostaniesz sam jako użytkownik Aquamacs.

Wypróbowałem Emacs Mac Port i podczas płynnego przewijania, gesty i Apple Events są fajne, stwierdziłem, że te drobne korzyści nie są warte zachowań związanych z utrzymywaniem poprawionej wersji GNU Emacs. YMMV, oczywiście, i jeśli zależy Ci na dobrym wsparciu dla OS X i jeśli te funkcje Ci się podobają, zdecydowanie powinieneś tego spróbować.

Obecnie używam tylko migawek GNU Emacsa. Mają dość dobre wsparcie dla OS X i są zdecydowanie najłatwiejsze do zainstalowania i najlepiej obsługiwane przez społeczność.

Kiedyś otrzymywałem je z Emacsa dla Mac OS X, ale teraz używam Homebrew, ponieważ obsługuje więcej bibliotek, zwłaszcza GNU TLS do szyfrowanych połączeń sieciowych.

Podsumowując: użyj brew install emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick :).

Komentarze

  • Cóż – korzystanie z portu Mac też nie jest takie trudne. Od github.com/railwaycat/emacs-mac-port : brew tap railwaycat/emacsmacport, a następnie brew install emacs-mac
  • ” port Mac ” zdecydowanie nie był pierwszym Emacsem z natywną obsługą GUI OSX . Zamiast tego narodził się mniej więcej w czasie, gdy Emacs przeniósł się ze starego kodu ” Carbon Emacs ” do nowszego ” Emacs.app ” kod (ten ruch został wykonany częściowo dlatego, że Carbon został prawdopodobnie wycofany przez Apple, częściowo dlatego, że nikt nie chciał utrzymywać tego kodu, a częściowo dlatego, że ” Emacs.app ” kod zawierał możliwość obsługi GNUstep. Do dziś obsługa GNUstep jest praktycznie bezużyteczna (chociaż ' s czasami używane do śledzenia i naprawiania błędów w kodzie OSX podczas korzystania z systemu GNU / Linux)).
  • Doskonały opis. Niektórzy użytkownicy OSX mogą być zainteresowani tym, że Aquamacs ma wbudowaną obsługę natywnego sprawdzania pisowni OSX, która obejmuje listę zapisanych słów, które użytkownik wcześniej dodał do słownika. Moim zdaniem jest to jedyna kluczowa cecha Aquamacsa, której nie można powielić w innych wersjach Emacsa bez modyfikowania kodu źródłowego przed skompilowaniem. Jednak wolę aspell i unikam używania myszy – więc sprawdzanie pisowni w OSX (choć bardzo sprytne) nie jest dla mnie powodem do przejścia na Aquamacs.
  • Zastrzeżenie: używam Linuksa i ' nie jestem pewien co do OSX, ale piszę e-maile w Emacsie i nie potrzebuję TLS; Dzwonię (a raczej mu4e) do msmtp w celu wysłania i mbsync w celu pobrania moich e-maili .
  • Mała nitka: kompilacja ze źródła wymaga ./configure --with-ns, a nie --enable-ns.

Odpowiedź

Kilka rzeczowych poprawek dotyczących Aquamacs. Chociaż utrzymuje swoje własne drzewo źródeł, jest bardzo regularnie łączony z Emacsem i prawie natychmiast z każdym wydaniem Emacsa. Aquamacs 3.1 pojawił się w dniu wydania Emacsa 24.4 (i zawierał wszystkie funkcje Emacsa 24.4 oraz podzbiór jego błędów). Aquamacs ma ponad 10 000 stałych użytkowników, jest aktywnie obsługiwany.

Emacs Mac Port powstał znacznie później niż port Cocoa i Nextstep w Emacs; jest uważany za eksperymentalny i oryginalny autor odradza rozpowszechnianie poza jego zestawem poprawek. W związku z tym wsparcie będzie znacznie bardziej ograniczone niż w przypadku innych rozwiązań. Jest to jednak interesująca linia rozwoju, która ostatecznie zapewni społeczności wiele wartości, jeśli zostanie przyjęta przez programistów. Użytkownicy powinni jednak uważać się za „beta testerów” i wnosić z powrotem, co mogą, poprzez dobre raporty o błędach i łatki.

Wartość Aquamacs polega na jego filozofii „gotowego do użycia”: LaTeX, EmacsSpeaksStatistics i Integracja z komputerem Mac działa od razu po wyjęciu z pudełka. Nie jest wymagana żadna złożona konfiguracja.

Komentarze

  • Emacs wydaje się rzadko, więc jeśli Aquamacs łączy się dopiero po wydaniu, jest nieczęsty. Zaktualizowałem swoją odpowiedź, aby usunąć tę część. Ponadto, chociaż sam Aquamacs jest aktywnie utrzymywany i wspierany, wsparcie społeczności jest raczej rzadkie. Niewiele pakietów innych firm bezpośrednio obsługuje Aquamacs. W rzeczywistości wiele pakietów wyraźnie obsługuje tylko GNU Emacs, a nie jakiekolwiek rozwidlenia lub pochodne, w tym XEmacs lub Aquamacs.
  • Czy masz źródło, które doradza autorom portów Mac, aby nie redystrybuowali części poza ich zestaw poprawek?
  • @lunaryorn: Wydaje mi się, że w tamtym czasie było to prawdą, ale już nie. W mojej edycji usunąłem ten komentarz.

Odpowiedź

Wypróbowałem wszystkie powyższe opcje (nawet kran polecany przez Reinera w komentarzu powyżej) żaden nie działał dobrze dla mnie (problemy z przewijaniem gładzika, zawieszanie się itp.). Jestem jednak całkiem zadowolony z widelca Yamamoto Mitsuharu, utrzymanego na kolejowej stronie github. Jest aktualna w stosunku do oficjalnej wersji GNU. Po prostu pobierz obraz .dmg tutaj: https://github.com/railwaycat/emacs-mac-port/wiki/Downloads

Komentarze

  • Kiedy masz trochę wolnego czasu, uzupełnij swoją odpowiedź i przedstaw różnice między tą konkretną wersją a wersją podstawową. W ten sposób Twoja odpowiedź stanie się czymś więcej niż tylko komentarzem , a czytelnik nie będzie musiał zostawiać tej odpowiedzi i przeglądać takich stron jak: github.com/ railwaycat / emacs-mac-port / blob / master / README-mac

Odpowiedź

Do niedawna korzystałem z wersji Aquamacs. Głównym powodem, dla którego wolałem wersję Auquamacs podczas używania jej na Macu, było to, że mogłem używać Dragon Dictate z emacsem z domyślnymi ustawieniami. Kiedy konfigurowałem moją konfigurację, miałem problem z dyktowaniem w zwykłej wersji emacsa. Poza tym i domyślnymi skrótami klawiszowymi nie było dużej różnicy, z którą wchodziłem w interakcje. Moje ustawienia ładowałyby się w ten sam sposób. Ze skrótami klawiszowymi Przydatne jest kopiowanie, wycinanie, wklejanie i cofanie schowka za pomocą poleceń cmd-c, cmd-v, cmd-x, cmd-z, S-cmd-z tylko z przyzwyczajenia na komputerze Mac i że ja był w stanie zrobić to automatycznie jedną ręką na klawiaturze Maca, ale możesz ustawić te w zwykłym emacsie na cokolwiek chcesz, auquamacs nie jest potrzebny dla wielu z tych ustawień Maca.

Jednak ostatnim razem Sprawdziłem, czy emacs w Auquamacs nie był aktualizowany przez rok i wydawał się być opóźniony. Otrzymałem także ostrzeżenia o wygaśnięciu certyfikatu. Nie byłem pewien, czy nadal jest utrzymywany. Nie wygląda na to, że został zaktualizowany na stronie internetowej. Udało mi się zainstalować zwykłą wersję Emacsa na Maca z homebrew i zaktualizować mój plik init do ustawień dla Maca, które pozwalały na działanie dyktowania.

Ale ostatnio korzystałem z linuxminta i myślę, że zamierzam się tego trzymać. Mój system jest o wiele cichszy, szybszy i płynniejszy w systemie Linux, a wygląd pulpitu można łatwo dostosować. Wprowadziłem kilka drobnych zmian w pliku inicjującym emacs w wersji dla systemu Linux, ale jest prawie taki sam. Nie udało mi się jednak znaleźć dobrego rozwiązania dyktowania w systemie Linux.Nie wiem, czy moja maszyna poradzi sobie z uruchomieniem innego systemu operacyjnego na maszynie wirtualnej tylko dla oprogramowania do dyktowania. Oprogramowanie do dyktowania również jest obciążeniem zasobów, ale to kolejna kwestia. Byłoby miło, gdyby Dragon wydał wersję Dyktuj w systemie Linux.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *