Apa perbedaan antara Aquamacs dan versi Emacs Mac lainnya?

99

Pengguna Macintosh memiliki beberapa pilihan Emacs pre-built. Saya mengetahui versi berikut:

Beberapa pertanyaan yang saya pikirkan:

  1. Apakah versi ini berbeda dalam cara yang signifikan?
  2. Bisakah satu mendapatkan fungsi yang lain hanya dengan memodifikasi file inisialisasi?
  3. Apakah perubahan ini membuat jalan mereka kembali ke hulu?

Saya sadar bahwa Aquamacs dianggap "tidak ortodoks" karena memiliki keybindings yang sangat mirip Mac, tetapi saya juga tertarik untuk memahami perbedaan antara versi non-Aquamacs.

Eric Brown
sumber
Poin data: Saya baru saja mencoba beberapa emacsen ini dan telah memilih garpu Yamamoto Mitsuharu. Saya telah menggunakan Aquamacs selama bertahun-tahun tapi sering crash (ada hubungannya dengan frame / tab) dan saya tidak tahan lagi. Tampaknya Aquamacs biasa melakukan banyak hal yang tidak dilakukan orang lain, tetapi itu tidak terjadi lagi. Garpu Yamamoto muncul sebagai pilihan terbaik untuk Mac sekarang.
Scott Fraize
Saya biasanya menggunakan Aquamacs, memutuskan untuk menyeduh saat ini. Satu nit minor: untuk mendapatkan kunci #, atur tipe input Australia!
Dave Hodgkinson

Jawaban:

126

Emacs untuk Mac OS X

Emacs untuk Mac OS X menyediakan binari OS X dari GNU Emacs yang tepat. Ini kira-kira sama dengan yang Anda dapatkan dengan mengkompilasi tarball rilis GNU Emacs ./configure --with-ns. Situs ini menyediakan rilis stabil dan pretest, serta snapshot malam. Semua bangunan ini mandiri, yang memungkinkan Anda untuk mencoba pretest dan snapshot dengan aman.

Perhatikan, bahwa binari-binari ini tidak memiliki dukungan untuk beberapa perpustakaan, terutama GNU TLS dan ImageMagick. Jika Anda ingin menggunakan ini - yang pertama sangat penting jika Anda ingin membaca email Anda di Emacs - Anda perlu mendapatkan GNU Emacs dari Homebrew.

Emacs untuk OS X Dimodifikasi

Menurut situs web Emacs untuk OS X Modified hanyalah sebuah build standar dari GNU Emacs, berdasarkan hal di atas, dengan beberapa paket tambahan, dan konfigurasi yang diperlukan untuk mengaktifkan semua paket ini.

Dengan pengecualian ESS, semua paket ini tersedia melalui arsip paket Emacs untuk instalasi di Emacs apa pun. Misalnya, Anda dapat menginstal AUCTeX di GNU Emacs dengan cukup dengan mengetik M-x package-install RET auctex, dan mengaktifkannya.

Pilihan paket menunjukkan bahwa sebagian besar ditargetkan pada ahli statistik dan penelitian, yang akan bekerja melalui data mereka dengan R dan ESS, dan kemudian menerbitkan makalah dengan Org atau AUCTeX dan LaTeX.

Untuk pengguna lain, distribusi ini mungkin nilainya kecil, karena Anda tetap harus menginstal paket tambahan, dan mungkin juga menggunakan GNU Emacs dengan segera.

Ini adalah satu-satunya distribusi yang dapat Anda buat sendiri di GNU Emacs dengan menginstal paket Emacs tambahan dan menyesuaikannya init.el. Distribusi lainnya adalah varian patched dan forked dari GNU Emacs.

Port Emacs Mac

Emacs Mac Port adalah set patch untuk GNU Emacs yang tepat untuk integrasi OS X yang lebih baik. Perhatikan bahwa GNU Emacs sendiri memiliki dukungan OS X asli, tetapi tidak memiliki tambahan khusus OS X, yang disediakan oleh kumpulan patch ini. Terutama, khususnya, lebih-lebih:

  • Teks Inti untuk rendering teks, yang meningkatkan tampilan teks dan dukungan Unicode. Ini digabung ke dalam GNU Emacs, dan merupakan bagian dari Emacs 24.4.
  • Pengguliran halus. GNU Emacs benar-benar menggulirkan baris-bijaksana, yang sangat lamban dan gelisah dengan trackpads. Emacs Mac Port menggunakan penggulir berbasis piksel seperti aplikasi OS X asli lainnya, yang terasa jauh lebih halus dan jauh lebih presisi. Ini hanya memengaruhi pengguliran trackpad, jadi jika Anda tidak menggunakan mouse, Anda tidak akan membutuhkannya.
  • Gestures. Anda dapat mencubit untuk menambah / mengurangi ukuran teks. Sekali lagi, jika Anda tidak menggunakan mouse, Anda tidak akan melihatnya, dan itu bisa dibilang hanya fitur mewah.
  • Dukungan untuk Acara Apple. Anda dapat mengirim dan menerima Acara Apple dari Emacs Lisp.
  • Layanan kamus. Ketukan tiga jari akan mencari kata di bawah kursor di aplikasi Kamus Apple, seperti di aplikasi OS X lainnya.
  • Integrasi layanan. Anda dapat membuka file yang dipilih di Finder dari menu konteks di Emacs yang sedang berjalan.
  • Tampilan SVG asli menggunakan Webkit, bukan librsvg. Webkit memiliki dukungan SVG yang lebih baik untuk pengetahuan saya, tetapi siapa yang melihat SVG di Emacs?

Anda akan melihat bahwa sebagian besar fitur ini hanya berkaitan dengan integrasi ke dalam OS X, dan tidak penting untuk menggunakan Emacs. Selain itu, Emacs Mac Port sangat mirip dengan GNU Emacs standar.

Beberapa fitur-fiturnya kembali ke GNU Emacs, tetapi yang lain tidak akan pernah digabungkan, karena mereka eksklusif untuk OS X, dan tidak tersedia di GNUStep alternatif gratis, yang bertentangan dengan politik FSF untuk tidak mendukung sistem operasi berpemilik. atas alternatif gratis mereka. Juga, jika saya ingat dengan benar, pembuat tambalan ini telah menunjukkan sedikit minat untuk membawa fitur kembali ke atas, mungkin karena alasan sebelumnya.

Aquamacs

Aquamacs adalah garpu GNU Emacs yang banyak ditambal . Tidak seperti semua hal di atas, ini tidak didasarkan pada GNU Emacs, tetapi memiliki pohon sumber independen. Itu secara teratur disinkronkan dengan Emacs hulu, meskipun, dan erat mengikuti rilis Emacs. Akan tetapi, hal itu tidak dapat dihindari tertinggal di belakang trunk GNU Emacs.

Ini sangat dimodifikasi untuk terlihat dan terasa seperti aplikasi OS X asli. Terutama mendukung dan mendorong binding kunci OS X standar, misalnya Cmd+Suntuk menyimpan. Binding Standar Emacs sebagian besar masih tersedia.

Karena garpu, sangat dimodifikasi dan dengan tujuan dan prinsip yang sama sekali berbeda, tidak ada fitur yang akan digabungkan dengan GNU Emacs: Sebagian besar modifikasi ini bertentangan langsung dengan "semangat", ide dan filosofi GNU Emacs.

TL; DR (atau: Apa yang harus saya pilih)

  • Jika Anda seorang ahli statistik atau peneliti dan tidak ingin mengatur sendiri Emacs : Emacs untuk OS X dimodifikasi
  • Jika Anda menginginkan aplikasi OS X asli lebih dari segalanya: Aquamacs
  • Jika Anda ingin Emacs, tetapi dengan dukungan OS X sebaik mungkin: Emacs Mac Port
  • Jika Anda hanya ingin Emacs tanpa komplikasi: Emacs untuk Mac OS X

Saran pribadi saya

Saya tidak pernah mencoba Emacs untuk OS X Modified atau Aquamacs, tetapi saya melihat sedikit penggunaan di bekas (saya bukan ahli statistik, dan dapat menginstal AUCTeX sendiri). Saya juga merekomendasikan terhadap yang terakhir: Ini garpu, dan sementara itu memberi Anda integrasi OS X terbaik, itu pasti tertinggal, dan menerima lebih sedikit dukungan dari komunitas Emacs secara keseluruhan. Banyak paket tidak mendukung Aquamacs, jadi jika ada masalah, ada peluang bagus bagi Anda untuk dibiarkan sendirian sebagai pengguna Aquamacs.

Saya memang mencoba Emacs Mac Port, dan sementara menggulirkan halus, gerakan dan Acara Apple bagus, saya menemukan bahwa manfaat kecil ini tidak sebanding dengan kerumitan menjaga versi patch GNU Emacs. YMMV, tentu saja, dan jika Anda peduli untuk dukungan OS X yang baik, dan jika fitur ini menarik bagi Anda, Anda harus mencobanya.

Saat ini, saya hanya menggunakan snapshot build GNU Emacs. Ini memiliki dukungan OS X yang cukup baik, dan sejauh ini merupakan yang termudah untuk diinstal, dan paling baik didukung oleh komunitas.

Saya biasa mendapatkannya dari Emacs untuk Mac OS X, tapi sekarang saya menggunakan Homebrew, karena mendukung lebih banyak perpustakaan, terutama GNU TLS untuk koneksi jaringan terenkripsi.

Semua dalam semua: Gunakan brew install emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick:).

lunaryorn
sumber
8
Yah - menggunakan port mac juga tidak sulit. Dari github.com/railwaycat/emacs-mac-port : brew tap railwaycat/emacsmacportand thenbrew install emacs-mac
Rainer
3
"Port Mac" jelas bukan Emacs pertama dengan dukungan OSUI GUI asli. Alih-alih itu lahir tepat pada saat Emacs pindah dari kode "Carbon Emacs" yang lama ke kode "Emacs.app" yang lebih baru (langkah ini dilakukan sebagian karena Karbon mungkin sudah ditinggalkan oleh Apple, sebagian karena tidak ada yang ingin mempertahankan kode itu. , dan sebagian karena kode "Emacs.app" datang dengan kemungkinan untuk mendukung GNUstep. Hingga hari ini, dukungan GNUstep pada dasarnya tidak dapat digunakan (yang kadang-kadang digunakan untuk melacak dan memperbaiki bug pada kode OSX saat menggunakan sistem GNU / Linux )).
Stefan
6
Tulisan yang bagus. Beberapa pengguna OSX mungkin tertarik mengetahui bahwa Aquamacs memiliki dukungan bawaan untuk pemeriksa ejaan OSX asli, yang mencakup daftar kata yang disimpan yang sebelumnya ditambahkan pengguna ke kamus. Dalam pikiran saya, itu adalah fitur utama dari Aquamacs yang tidak dapat diduplikasi dalam versi Emacs lainnya tanpa memodifikasi kode sumber sebelum membangun. Namun, saya lebih suka aspell dan menghindar dari menggunakan mouse - jadi pemeriksa ejaan OSX (walaupun memang sangat bagus) bukan alasan bagi saya untuk beralih ke Aquamacs.
hukum
1
Penafian: Saya menggunakan Linux, dan saya tidak yakin tentang OSX, tapi saya menulis email di Emacs dan tidak perlu TLS; Saya (atau lebih tepatnya mu4e) menelepon msmtpuntuk mengirim dan mbsyncmengambil email saya.
mbork
1
Nit kecil: Kompilasi dari sumber membutuhkan ./configure --with-ns, bukan --enable-ns.
Harald Hanche-Olsen
22

Beberapa koreksi faktual tentang Aquamacs. Sementara itu mempertahankan pohon sumbernya sendiri, ia sangat teratur digabung dengan Emacs, dan segera dengan begitu setiap rilis Emacs. Aquamacs 3.1 keluar pada hari Emacs 24.4 dirilis (dan itu menggabungkan semua fitur Emacs 24.4 dan bagian dari bug-nya). Aquamacs memiliki> 10k pengguna reguler, didukung secara aktif.

Port Mac Emacs berasal jauh lebih lama daripada port Kakao dan Nextstep di Emacs; itu dianggap eksperimental dan penulis asli menyarankan untuk tidak mendistribusikan kembali di luar set patch-nya. Dengan demikian, dukungan akan jauh lebih terbatas daripada solusi lainnya. Namun, ini merupakan jalur pengembangan yang menarik, yang pada akhirnya akan memberikan banyak nilai kepada komunitas jika diadopsi oleh pengembang. Namun, pengguna harus menganggap diri mereka "penguji beta", dan berkontribusi apa yang mereka bisa dengan laporan bug dan tambalan yang baik.

Nilai Aquamacs terletak pada filosofi "ready to roll": LaTeX, EmacsSpeaksStatistics, dan integrasi Mac bekerja di luar kotak. Tidak diperlukan konfigurasi yang rumit.

davidswelt
sumber
Emacs rilis hanya jarang, jadi jika Aquamacs menyatu hanya setelah rilis, itu adalah jarang terjadi. Saya telah memperbarui jawaban saya untuk menghapus bagian itu. Juga, sementara Aquamacs sendiri secara aktif dipelihara dan didukung, dukungan masyarakat agak jarang. Beberapa paket pihak ke-3 secara eksplisit mendukung Aquamacs. Faktanya, banyak paket secara eksplisit hanya mendukung GNU Emacs, dan bukan garpu atau turunan apa pun, termasuk XEmacs atau Aquamacs.
lunaryorn
Apakah Anda memiliki sumber untuk saran dari penulis port Mac untuk tidak mendistribusikan ulang bagian di luar set patch mereka?
lunaryorn
@Lunaryorn: Saya percaya ini benar pada saat itu, tetapi tidak lagi. Dalam edit saya, saya menghapus komentar itu.
davidswelt
11

Saya telah mencoba semua opsi di atas (bahkan keran yang direkomendasikan oleh Reiner dalam komentar di atas) tidak ada yang bekerja dengan baik untuk saya (masalah scroll trackpad, hangings, dll.). Namun, saya cukup senang dengan garpu Yamamoto Mitsuharu, sebagaimana dijaga oleh halaman github kereta api. Versi terbaru dari versi GNU resmi. Cukup unduh .dmggambar di sini: https://github.com/railwaycat/emacs-mac-port/wiki/Downloads

NVaughan
sumber
8
Ketika Anda memiliki waktu luang, perluas jawaban Anda dan jelaskan perbedaan antara build khusus ini dan build vanilla. Dengan begitu, jawaban Anda menjadi lebih dari sekadar komentar dan pembaca tidak perlu meninggalkan jawaban ini dan melihat halaman seperti: github.com/railwaycat/emacs-mac-port/blob/master/README-mac
lawlist
0

Saya menggunakan versi Aquamacs sampai saat ini. Alasan utama saya lebih memilih versi Auquamacs ketika saya menggunakannya di Mac adalah karena saya dapat menggunakan Dragon Dictate dengan emacs dengan pengaturan default. Ketika saya mengkonfigurasi pengaturan saya, saya mengalami masalah dengan dikte pada versi emacs biasa. Selain itu dan keybindings default tidak ada banyak perbedaan yang saya berinteraksi. Pengaturan saya akan memuat dengan cara yang sama. Dengan keybindings Sangat berguna untuk memiliki copy, memotong, menempel, dan membatalkan clipboard menggunakan cmd-c, cmd-v, cmd-x, cmd-z, S-cmd-z hanya karena kebiasaan di mac dan saya bisa secara otomatis melakukannya dengan satu tangan pada keyboard mac, tetapi Anda dapat mengatur mereka di emacs biasa untuk apa pun yang Anda suka, auquamacs tidak diperlukan untuk banyak pengaturan mac tersebut.

Namun, terakhir kali saya memeriksa emacs di Auquamacs belum diperbarui selama setahun dan sepertinya ada di belakang. Saya juga menerima beberapa peringatan sertifikat kedaluwarsa. Saya tidak yakin apakah itu masih dipertahankan. Sepertinya tidak diperbarui di situs web. Saya dapat menginstal versi Emacs untuk Mac reguler dengan homebrew dan memperbarui file init saya ke pengaturan untuk mac yang memungkinkan dikte berfungsi.

Tapi saya telah menggunakan linuxmint baru-baru ini dan saya pikir saya akan tetap dengan itu. Sistem saya jauh lebih tenang, lebih cepat, dan lebih lancar dengan Linux dan mudah untuk menyesuaikan tampilan desktop. Ada beberapa perubahan kecil yang saya buat pada file inac emacs pada versi Linux, tetapi hampir sama. Saya belum dapat menemukan solusi yang baik untuk dikte di Linux. Saya tidak tahu bahwa mesin saya dapat menangani menjalankan sistem operasi lain dalam mesin virtual hanya untuk perangkat lunak dikte. Perangkat lunak dikte adalah sumber daya babi juga, tetapi itu adalah masalah lain. Akan lebih baik jika Dragon merilis versi Dikte di Linux.

Bryan Aneux
sumber