Sự khác biệt giữa Aquamacs và các phiên bản Mac khác của Emacs là gì?


99

Người dùng Macintosh có một số lựa chọn về Emacs dựng sẵn. Tôi biết các phiên bản sau:

Một số câu hỏi tôi có trong đầu:

  1. Các phiên bản này có khác nhau theo bất kỳ cách thức quan trọng nào không?
  2. Người ta có thể có được chức năng của những người khác bằng cách sửa đổi tệp khởi tạo không?
  3. Những thay đổi này có làm cho đường ngược dòng của họ?

Tôi biết rằng Aquamacs được coi là "không chính thống" vì nó có các phím bấm rất giống Mac, nhưng tôi cũng quan tâm đến việc tìm hiểu sự khác biệt giữa các phiên bản không phải Aquamac.


Điểm dữ liệu: Tôi vừa thử một loạt các emacsen này và đã định cư trên ngã ba của Yamamoto Mitsuharu. Tôi đã sử dụng Aquamac trong nhiều năm nhưng nó đã bị sập thường xuyên (phải làm gì đó với khung / tab) và tôi không thể chịu đựng được nữa. Có vẻ như Aquamac đã từng làm rất nhiều việc mà không ai làm, nhưng đó không còn là vấn đề nữa. Ngã ba Yamamoto xuất hiện sự lựa chọn ưu việt cho Mac ngay bây giờ.
Scott lừa đảo

Tôi thường sử dụng Aquamacs, quyết định ủ lần này. Một nit nhỏ: để lấy khóa #, hãy đặt loại đầu vào của Úc!
Dave Hodgkinson

Câu trả lời:


126

Emacs cho Mac OS X

Emacs cho Mac OS X cung cấp các nhị phân OS X của GNU Emacs thích hợp. Nó gần giống như bạn nhận được bằng cách biên dịch tarball phát hành GNU Emacs với ./configure --with-ns. Trang web cung cấp các bản phát hành ổn định và giả vờ, cũng như ảnh chụp nhanh hàng đêm. Tất cả các bản dựng này đều khép kín, cho phép bạn thử các bản sao lưu và chụp nhanh một cách an toàn.

Tuy nhiên, xin lưu ý rằng các tệp nhị phân này thiếu hỗ trợ cho một số thư viện, đặc biệt là GNU TLS và ImageMagick. Nếu bạn muốn sử dụng những bản này thì trước đây đặc biệt quan trọng nếu bạn muốn đọc thư của mình trong Emacs, bạn cần lấy GNU Emacs từ Homebrew.

Emacs cho OS X được sửa đổi

Theo trang web Emacs cho OS X Modified chỉ đơn giản là bản dựng tiêu chuẩn của GNU Emacs, dựa trên một số gói bổ sung và cấu hình cần thiết để kích hoạt tất cả các gói này.

Với ngoại lệ đáng chú ý của ESS, tất cả các gói này đều có sẵn thông qua kho lưu trữ gói của Emacs để cài đặt trong bất kỳ Emacs nào. Chẳng hạn, bạn có thể cài đặt AocateeX trong GNU Emacs đúng cách bằng cách nhập M-x package-install RET auctexvà bật nó.

Việc lựa chọn các gói cho thấy rằng nó chủ yếu nhắm vào các nhà thống kê và nghiên cứu, sẽ hoạt động thông qua dữ liệu của họ với R và ESS, sau đó xuất bản một bài báo với Org hoặc AocateeX và LaTeX.

Đối với những người dùng khác, bản phân phối này có thể có ít giá trị, vì dù sao bạn cũng cần cài đặt các gói bổ sung và cũng có thể sử dụng GNU Emacs ngay lập tức.

Đây là bản phân phối duy nhất mà bạn có thể tự tạo trong GNU Emacs thích hợp bằng cách cài đặt các gói Emacs bổ sung và điều chỉnh cho init.elphù hợp. Các bản phân phối khác là các biến thể được vá và rẽ nhánh của GNU Emacs.

Cảng Mac Emacs

Emacs Mac Port là một bản vá cho GNU Emacs thích hợp để tích hợp OS X tốt hơn. Lưu ý rằng bản thân GNU Emacs cũng có hỗ trợ OS X gốc, nhưng thiếu các bổ sung cụ thể của OS X, mà bộ bản vá này cung cấp. Đáng chú ý:

  • Văn bản cốt lõi để hiển thị văn bản, giúp cải thiện giao diện văn bản và hỗ trợ Unicode. Điều này đã được hợp nhất vào GNU Emacs thích hợp và là một phần của Emacs 24.4.
  • Cuộn trơn. GNU Emacs cuộn đúng dòng, rất chậm và giật với trackpad. Emacs Cảng Mac sử dụng di chuyển dựa trên điểm ảnh như các ứng dụng OS X có nguồn gốc khác, mà cảm thấy nhiều mượt mà và nhiều hơn nữa chính xác. Tuy nhiên, nó chỉ ảnh hưởng đến việc cuộn trackpad, vì vậy nếu bạn không sử dụng chuột, bạn sẽ không cần đến nó.
  • Cử chỉ. Bạn có thể chụm để tăng / giảm kích thước văn bản. Một lần nữa, nếu bạn không sử dụng chuột, bạn sẽ không chú ý đến nó và nó được cho là một tính năng lạ mắt.
  • Hỗ trợ cho các sự kiện của Apple. Bạn có thể gửi và nhận Sự kiện của Apple từ Emacs Lisp.
  • Dịch vụ từ điển. Chạm ba ngón tay sẽ tìm kiếm từ dưới con trỏ trong ứng dụng Từ điển của Apple, giống như trong các ứng dụng OS X khác.
  • Dịch vụ tích hợp. Bạn có thể mở tệp đã chọn trong Finder từ menu ngữ cảnh trong Emacs đang chạy.
  • Hiển thị SVG gốc bằng Webkit, thay vì librsvg. Webkit có hỗ trợ SVG tốt hơn theo hiểu biết của tôi, nhưng ai xem SVG trong Emacs?

Bạn sẽ nhận thấy rằng hầu hết các tính năng này chỉ liên quan đến việc tích hợp vào OS X và không cần thiết phải sử dụng Emacs. Ngoài ra, Emacs Mac Port khá giống với GNU Emacs tiêu chuẩn.

Một số tính năng của nó quay trở lại GNU Emacs, nhưng các tính năng khác sẽ không bao giờ được hợp nhất, vì chúng là độc quyền của OS X, và không có trong GNUStep thay thế miễn phí, đi ngược lại chính trị của FSF để không hỗ trợ các hệ điều hành độc quyền trên các lựa chọn thay thế miễn phí của họ. Ngoài ra, nếu tôi nhớ chính xác, tác giả của bản vá này đã tỏ ra ít quan tâm để đưa các tính năng ngược dòng, có thể là vì lý do trước đây.

Thủy sinh

Aquamacs là một nhánh của GNU Emacs được vá rất nhiều . Không giống như tất cả những điều trên, nó không dựa trên GNU Emacs, nhưng có một cây nguồn độc lập. Tuy nhiên, nó thường được đồng bộ hóa với Emacs ngược dòng và theo sát các bản phát hành của Emacs. Tuy nhiên, nó chắc chắn bị tụt lại phía sau thân cây GNU Emacs.

Nó được sửa đổi rất nhiều để trông và cảm thấy giống như một ứng dụng OS X gốc. Đáng chú ý là nó hỗ trợ và khuyến khích các ràng buộc khóa OS X tiêu chuẩn, ví dụ như Cmd+Sđể lưu. Các ràng buộc Emacs tiêu chuẩn hầu hết vẫn còn có sẵn.

Do là một nhánh rẽ, được sửa đổi nhiều và với các mục tiêu và nguyên tắc hoàn toàn khác nhau, nên không có tính năng nào của nó được hợp nhất với GNU Emacs: Hầu hết các sửa đổi này đều đi ngược lại với tinh thần của Hồi giáo, ý tưởng và triết lý của GNU Emacs.

TL; DR (hoặc: Tôi nên chọn gì)

  • Nếu bạn là một nhà thống kê hoặc nhà nghiên cứu và không muốn tự thiết lập Emacs: Emacs cho OS X được sửa đổi
  • Nếu bạn muốn có một ứng dụng OS X gốc hơn tất cả mọi thứ khác: Aquamacs
  • Nếu bạn muốn Emacs, nhưng với sự hỗ trợ OS X tốt nhất có thể: Emacs Mac Port
  • Nếu bạn chỉ muốn Emacs mà không có bất kỳ biến chứng nào: Emacs cho Mac OS X

Lời khuyên cá nhân của tôi

Tôi chưa bao giờ dùng thử Emacs cho OS X Modified hoặc Aquamacs, nhưng tôi thấy ít sử dụng trước đây (tôi không phải là người thống kê và có thể tự cài đặt AocateeX). Tôi cũng khuyên bạn nên chống lại cái sau: Đó là một ngã ba và trong khi nó mang lại cho bạn sự tích hợp OS X tốt nhất, nó chắc chắn bị tụt lại phía sau và nhận được ít sự hỗ trợ hơn từ cộng đồng Emacs nói chung. Nhiều gói không hỗ trợ Aquamacs, vì vậy nếu có vấn đề, rất có thể bạn sẽ bị bỏ lại một mình với tư cách là người dùng Aquamacs.

Tôi đã thử Emacs Mac Port, và trong khi cuộn mượt mà, các cử chỉ và Sự kiện của Apple rất hay, tôi thấy rằng những lợi ích nhỏ này không đáng để giữ một phiên bản GNU Emacs được vá. YMMV, rõ ràng, và nếu bạn quan tâm đến việc hỗ trợ OS X tốt, và nếu các tính năng này hấp dẫn bạn, bạn chắc chắn nên thử nó.

Ngày nay, tôi chỉ sử dụng các bản dựng snapshot GNU Emacs. Chúng có hỗ trợ OS X khá tốt và cho đến nay là dễ cài đặt nhất và được cộng đồng hỗ trợ tốt nhất.

Tôi đã từng lấy chúng từ Emacs cho Mac OS X, nhưng bây giờ tôi sử dụng Homebrew, vì nó hỗ trợ nhiều thư viện hơn, đặc biệt là GNU TLS cho các kết nối mạng được mã hóa.

Tất cả trong tất cả: Sử dụng brew install emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick:).


8
Vâng - sử dụng cổng mac cũng không khó lắm. Từ github.com/railwaycat/emacs-mac-port : brew tap railwaycat/emacsmacportvà sau đóbrew install emacs-mac
Rainer

3
"Cổng Mac" chắc chắn không phải là Emacs đầu tiên có hỗ trợ GUI OSX gốc. Thay vào đó, nó được sinh ra vào khoảng thời gian Emacs chuyển từ mã "Carbon Emacs" cũ sang mã "Emacs.app" mới hơn (động thái này được thực hiện một phần vì Carbon có lẽ đã bị Apple từ chối, một phần vì không ai muốn duy trì mã đó và một phần vì mã "Emacs.app" có khả năng hỗ trợ GNUstep. Cho đến ngày nay, hỗ trợ GNUstep về cơ bản không sử dụng được (đôi khi nó được sử dụng để theo dõi và sửa lỗi trên mã OSX trong khi sử dụng hệ thống GNU / Linux )).
Stefan

6
Tuyệt vời viết lên. Một số người dùng OSX có thể muốn biết rằng Aquamacs có hỗ trợ tích hợp cho trình kiểm tra chính tả OSX, bao gồm danh sách các từ đã lưu mà người dùng đã thêm vào từ điển trước đó. Trong suy nghĩ của tôi, đó là một tính năng chính của Aquamac không thể được sao chép trong các phiên bản Emacs khác mà không sửa đổi mã nguồn trước khi xây dựng. Tuy nhiên, tôi thích aspell và ngại sử dụng chuột - vì vậy trình kiểm tra chính tả OSX (trong khi thực sự rất tiện lợi) không phải là lý do để tôi chuyển sang Aquamacs.
luật

1
Tuyên bố miễn trừ trách nhiệm: Tôi sử dụng Linux và tôi không chắc chắn về OSX, nhưng tôi viết email bằng Emacs và không cần TLS; Tôi (hoặc đúng hơn mu4e) gọi msmtpđể gửi và mbsynclấy email của tôi.
mbork

1
Nit nhỏ: Biên dịch từ nguồn yêu cầu ./configure --with-ns, không --enable-ns.
Harald Hanche-Olsen

22

Một vài sửa chữa thực tế về Aquamacs. Mặc dù nó duy trì cây nguồn của riêng mình, nhưng nó được kết hợp rất thường xuyên với Emacs và gần như ngay lập tức với mỗi bản phát hành Emacs. Aquamacs 3.1 ra mắt vào ngày Emacs 24.4 được phát hành (và nó kết hợp tất cả các tính năng của Emacs 24.4 và một tập hợp các lỗi của nó). Aquamacs có> 10k người dùng thường xuyên, được hỗ trợ tích cực.

Cổng Mac Emacs có nguồn gốc muộn hơn nhiều so với cổng Ca cao và Nextstep trong Emacs; nó được coi là thử nghiệm và tác giả ban đầu khuyên chống phân phối lại bên ngoài bộ bản vá của mình. Như vậy, hỗ trợ sẽ bị hạn chế hơn nhiều so với bất kỳ giải pháp nào khác. Đó là một dòng phát triển thú vị, tuy nhiên, cuối cùng sẽ cung cấp nhiều giá trị cho cộng đồng nếu được các nhà phát triển chấp nhận. Tuy nhiên, người dùng nên tự coi mình là "người thử nghiệm beta" và đóng góp lại những gì họ có thể với các báo cáo và bản vá lỗi tốt.

Giá trị của Aquamacs nằm ở triết lý "sẵn sàng tung ra": LaTeX, EmacsSpeaksStatistic và tích hợp Mac hoạt động vượt trội. Không cần cấu hình phức tạp.


Emacs phát hành không thường xuyên, vì vậy nếu Aquamacs kết hợp chỉ sau khi phát hành, đó không thường xuyên. Tôi đã cập nhật câu trả lời của tôi để loại bỏ phần đó, mặc dù. Ngoài ra, trong khi bản thân Aquamacs được duy trì và hỗ trợ tích cực, sự hỗ trợ của cộng đồng lại khá thưa thớt. Vài gói bên thứ 3 hỗ trợ rõ ràng Aquamacs. Trên thực tế, nhiều gói rõ ràng chỉ hỗ trợ GNU Emacs, và không có bất kỳ nhánh hay dẫn xuất nào, kể cả XEmac hoặc Aquamac.
lunaryorn

Bạn có nguồn tư vấn cho các tác giả cổng Mac không phân phối lại các phần bên ngoài bộ bản vá của họ không?
lunaryorn

@lunaryorn: Tôi tin rằng điều này là đúng vào thời điểm đó, nhưng không còn như vậy nữa. Trong phần chỉnh sửa của mình, tôi đã xóa bình luận đó.
davidswelt

11

Tôi đã thử tất cả các tùy chọn ở trên (ngay cả vòi được Reiner đề xuất trong một nhận xét ở trên) bởi không có tùy chọn nào hoạt động tốt cho tôi (vấn đề cuộn bàn di chuột, treo, v.v.). Tuy nhiên, tôi khá hạnh phúc với ngã ba của Yamamoto Mitsuharu, được bảo vệ bởi trang github của đường sắt. Nó được cập nhật liên quan đến phiên bản GNU chính thức. Đơn giản chỉ cần tải xuống .dmghình ảnh ở đây: https://github.com/railwaycat/emacs-mac-port/wiki/Doads


8
Khi bạn có thời gian rảnh, vui lòng mở rộng theo câu trả lời của bạn và nêu ra sự khác biệt giữa bản dựng cụ thể này và bản dựng vanilla. Bằng cách đó, câu trả lời của bạn không chỉ là một nhận xét và người đọc sẽ không bị yêu cầu rời khỏi câu trả lời này và xem các trang như: github.com/railwaycat/emacs-mac-port/blob/master/README-mac
luật

0

Tôi đã sử dụng phiên bản Aquamacs cho đến gần đây. Lý do chính khiến tôi thích phiên bản Auquamacs hơn khi tôi đang sử dụng nó trên Mac là vì tôi có thể sử dụng Dragon Dictate với các emacs với cài đặt mặc định. Khi tôi định cấu hình thiết lập của mình, tôi đã gặp sự cố với chính tả trên phiên bản emacs thông thường. Khác với điều đó và các tổ hợp phím mặc định không có nhiều khác biệt mà tôi đã tương tác. Cài đặt của tôi sẽ tải theo cùng một cách. Với các phím bấm Thật tiện lợi khi sao chép, cắt, dán và hoàn tác bằng cách sử dụng cmd-c, cmd-v, cmd-x, cmd-z, S-cmd-z theo thói quen trên mac và tôi đã có thể tự động làm điều đó bằng một tay trên bàn phím mac, nhưng bạn có thể đặt những thứ đó trong emacs thông thường thành bất cứ thứ gì bạn thích, auquamacs không cần thiết cho nhiều cài đặt mac đó.

Tuy nhiên, lần trước tôi đã kiểm tra các emacs trong Auquamacs đã không được cập nhật trong một năm và nó dường như bị tụt lại phía sau. Tôi cũng đã nhận được một số cảnh báo giấy chứng nhận hết hạn. Tôi không chắc nếu nó vẫn được duy trì. Có vẻ như nó đã không được cập nhật trên trang web. Tôi đã có thể cài đặt phiên bản Emacs cho Mac thông thường với homebrew và cập nhật tệp init của tôi thành cài đặt cho mac cho phép đọc chính tả hoạt động.

Nhưng tôi đã sử dụng linuxmint gần đây và tôi nghĩ rằng tôi sẽ gắn bó với điều đó. Hệ thống của tôi yên tĩnh hơn, nhanh hơn và mượt mà hơn với Linux và thật dễ dàng để tùy chỉnh giao diện của máy tính để bàn. Có một vài thay đổi nhỏ mà tôi đã thực hiện đối với tệp init của emacs trên phiên bản Linux, nhưng nó khá giống nhau. Tôi đã không thể tìm thấy một giải pháp tốt cho việc đọc chính tả trên Linux. Tôi không biết rằng máy của tôi có thể xử lý việc chạy một hệ điều hành khác trong một máy ảo chỉ dành cho phần mềm đọc chính tả. Phần mềm đọc chính tả là một con heo tài nguyên là tốt, nhưng đó là một vấn đề khác. Sẽ thật tuyệt nếu Dragon phát hành phiên bản Dictate trên Linux.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.