ความแตกต่างระหว่าง Aquamacs และ Emacs รุ่น Mac อื่น ๆ คืออะไร?


99

ผู้ใช้ Macintosh มี Emac ที่สร้างไว้ล่วงหน้าหลายตัวเลือก ฉันรู้ถึงรุ่นต่อไปนี้:

คำถามที่ฉันมีอยู่ในใจ:

  1. รุ่นเหล่านี้แตกต่างกันอย่างไรในรูปแบบที่สำคัญ?
  2. หนึ่งสามารถรับฟังก์ชั่นของผู้อื่นโดยเพียงแค่ปรับเปลี่ยนไฟล์เริ่มต้นได้หรือไม่
  3. การเปลี่ยนแปลงเหล่านี้ทำให้พวกเขากลับมาทางต้นน้ำหรือไม่?

ฉันรู้ว่า Aquamacs นั้นถือว่า "ไม่เป็นทางการ" เนื่องจากมันมีปุ่มลัดเหมือน Mac แต่ฉันก็สนใจที่จะเข้าใจความแตกต่างระหว่างเวอร์ชันที่ไม่ใช่ Aquamacs


จุดข้อมูล: ฉันเพิ่งลอง emacsen เหล่านี้และตั้งรกรากในส้อมของยามาโมโตมิตซูฮารู ฉันใช้ Aquamacs มาหลายปีแล้ว แต่มันก็ล้มเหลวบ่อยครั้ง (มีบางอย่างเกี่ยวกับเฟรม / แท็บ) และฉันก็ไม่สามารถใช้มันได้อีก ดูเหมือน Aquamacs เคยทำสิ่งต่าง ๆ มากมายที่ไม่มีใครทำ แต่นั่นไม่ใช่กรณีอีกต่อไป ส้อมยามาโมโตะปรากฏเป็นตัวเลือกที่ยอดเยี่ยมสำหรับ Mac ในตอนนี้
Scott Fraize

ฉันมักจะใช้ Aquamacs ตัดสินใจที่จะผลิตในครั้งนี้ หนึ่งเล็กน้อยเล็กน้อย: เพื่อรับคีย์ # ให้ตั้งค่าประเภทอินพุตของออสเตรเลีย!
Dave Hodgkinson

คำตอบ:


126

Emacs สำหรับ Mac OS X

Emacs สำหรับ Mac OS Xให้ไบนารี OS X ของ GNU Emacs ที่เหมาะสม มันเป็นประมาณเดียวกันคุณจะได้รับโดยการรวบรวมปล่อย tarball GNU Emacs ./configure --with-nsด้วย ไซต์จัดทำบิลด์และการทดสอบที่มีเสถียรภาพรวมถึงสแน็ปช็อตทุกคืน งานสร้างทั้งหมดเหล่านี้มีอยู่ในตัวเองซึ่งช่วยให้คุณลองทำแบบทดสอบและถ่ายภาพได้อย่างปลอดภัย

โปรดทราบว่าไบนารีเหล่านี้ไม่มีการสนับสนุนบางไลบรารีโดยเฉพาะ GNU TLS และ ImageMagick หากคุณต้องการใช้สิ่งเหล่านี้ - ก่อนหน้านี้มีความสำคัญอย่างยิ่งหากคุณต้องการอ่านจดหมายของคุณใน Emacs - คุณต้องรับ GNU Emacs จาก Homebrew

Emacs สำหรับ OS X Modified

ตามเว็บไซต์Emacs สำหรับ OS X Modifiedเป็นเพียงโครงสร้างมาตรฐานของ GNU Emacs ตามที่กล่าวไว้ข้างต้นพร้อมกับแพ็คเกจเพิ่มเติมและการกำหนดค่าที่จำเป็นเพื่อเปิดใช้งานแพ็คเกจเหล่านี้ทั้งหมด

ด้วยข้อยกเว้นที่น่าทึ่งของ ESS แพ็คเกจทั้งหมดเหล่านี้มีอยู่ในคลังเก็บของ Emacs เพื่อการติดตั้งใน Emacs ใด ๆ ตัวอย่างเช่นคุณสามารถติดตั้ง AUCTeX ใน GNU Emacs ได้อย่างง่ายดายเพียงพิมพ์M-x package-install RET auctexและเปิดใช้งาน

ทางเลือกของแพ็คเกจแนะนำว่าส่วนใหญ่จะเน้นไปที่นักสถิติและนักวิจัยซึ่งจะทำงานผ่านข้อมูลของพวกเขาด้วย R และ ESS จากนั้นเผยแพร่บทความด้วย Org หรือ AUCTeX และ LaTeX

สำหรับผู้ใช้รายอื่นการแจกจ่ายนี้อาจมีค่าเพียงเล็กน้อยเนื่องจากคุณจะต้องติดตั้งแพคเกจเพิ่มเติมอยู่ดีและอาจใช้ GNU Emacs ได้ทันที

นี่เป็นการแจกจ่ายเพียงอย่างเดียวที่คุณสามารถสร้างตัวเองใน GNU Emacs ได้โดยการติดตั้งแพ็คเกจเพิ่มเติมของ Emacs และปรับinit.elตามความเหมาะสม ส่วนดิสทริบิวชันอื่น ๆ นั้นเป็น patched และ forked variants ของ GNU Emacs

Emacs Mac Port

Emacs Mac Portเป็นชุดโปรแกรมแก้ไขสำหรับ GNU Emacs ที่เหมาะสมสำหรับการรวมระบบ OS X ที่ดีขึ้น โปรดทราบว่า GNU Emacs เองมีการรองรับ OS X ดั้งเดิมเช่นกัน แต่ขาดการเพิ่มเฉพาะ OS X ซึ่งชุดการแก้ไขนี้มีให้ สะดุดตา:

  • Core Text สำหรับการเรนเดอร์ข้อความซึ่งปรับปรุงลักษณะที่ปรากฏของข้อความและการสนับสนุน Unicode สิ่งนี้รวมเข้ากับ GNU Emacs อย่างเหมาะสมและเป็นส่วนหนึ่งของ Emacs 24.4
  • การเลื่อนที่ราบรื่น GNU Emacs ใช้การเลื่อนบรรทัดที่เหมาะสมซึ่งล้าหลังมากและน่าติดตามด้วย trackpads Emacs Mac พอร์ตใช้เลื่อนพิกเซลที่ใช้เช่นโปรแกรมอื่น ๆ OS X พื้นเมืองที่รู้สึกมากนุ่มนวลและเป็นมากขึ้นได้อย่างแม่นยำ มันมีผลกับการเลื่อนแทร็คแพดเท่านั้นดังนั้นหากคุณไม่ใช้เมาส์คุณจะไม่ต้องการมัน
  • ท่าทาง คุณสามารถหยิกเพื่อเพิ่ม / ลดขนาดตัวอักษร อีกครั้งถ้าคุณไม่ใช้เมาส์คุณจะไม่สังเกตและมันก็เป็นเพียงแค่คุณสมบัติแฟนซี
  • สนับสนุนกิจกรรมของ Apple คุณสามารถส่งและรับกิจกรรม Apple จาก Emacs Lisp
  • บริการพจนานุกรม การแตะด้วยสามนิ้วจะค้นหาคำภายใต้เคอร์เซอร์ในแอปพลิเคชันพจนานุกรมของ Apple เช่นในแอปพลิเคชัน OS X อื่น ๆ
  • การรวมบริการ คุณสามารถเปิดไฟล์ที่เลือกใน Finder จากเมนูบริบทใน Emacs ที่ทำงานอยู่
  • Native SVG แสดงผลโดยใช้ Webkit แทนที่จะเป็น librsvg Webkit มี SVG ที่ดีกว่าที่สนับสนุนความรู้ของฉัน แต่ใครจะดู SVG ใน Emacs บ้าง

คุณจะสังเกตเห็นว่าคุณสมบัติเหล่านี้ส่วนใหญ่เกี่ยวข้องกับการรวมเข้ากับ OS X เท่านั้นและไม่จำเป็นต้องใช้ Emacs นอกจากนั้น Emacs Mac Port ก็สวยเหมือน GNU Emacs ทั่วไป

คุณลักษณะบางอย่างของมันกลับเข้าสู่ GNU Emacs แต่คุณสมบัติอื่น ๆ จะไม่ถูกรวมเข้าด้วยกันเนื่องจากเป็นเอกสิทธิ์ของ OS X และไม่สามารถใช้ได้ใน GNUStep ทางเลือกฟรีซึ่งขัดต่อการเมืองของ FSF เพื่อไม่สนับสนุนระบบปฏิบัติการที่เป็นกรรมสิทธิ์ ทางเลือกฟรีของพวกเขา นอกจากนี้ถ้าฉันจำได้อย่างถูกต้องผู้เขียนชุดแก้ไขนี้ได้แสดงความสนใจเพียงเล็กน้อยในการนำคุณสมบัติกลับคืนมาซึ่งอาจเป็นเพราะเหตุผลเดิม

aquamacs

Aquamacs เป็นทางแยกที่หนักหน่วงของ GNU Emacs ต่างจากที่กล่าวมาทั้งหมดมันไม่ได้ขึ้นอยู่กับ GNU Emacs แต่มีต้นกำเนิดที่เป็นอิสระ มันถูกซิงก์อย่างสม่ำเสมอด้วย Emacs upstream แม้ว่าและติดตามการเปิดตัวของ Emacs อย่างใกล้ชิด อย่างไรก็ตามมันล่าช้าไปทางด้านหลัง GNU Emacs trunk อย่างไรก็ตาม

มันได้รับการแก้ไขอย่างหนักเพื่อให้มีรูปลักษณ์ที่เหมือนแอพพลิเคชั่น OS X ดั้งเดิม สนับสนุนและสนับสนุนการเชื่อมโยงคีย์ OS X มาตรฐานอย่างโดดเด่นเช่นCmd+Sบันทึก การผูกมาตรฐาน Emacs ส่วนใหญ่ยังคงมีอยู่แม้ว่า

ตั้งแต่การแยกการแก้ไขอย่างหนักและด้วยจุดมุ่งหมายและหลักการที่แตกต่างกันอย่างสิ้นเชิงจึงไม่มีการรวมคุณสมบัติต่าง ๆ เข้ากับ GNU Emacs: การปรับเปลี่ยนส่วนใหญ่ไปตรงกับ "วิญญาณ" ความคิดและปรัชญาของ GNU Emacs

TL; DR (หรือ: ฉันควรเลือกอะไร)

  • หากคุณเป็นนักสถิติหรือนักวิจัยและไม่ต้องการตั้งค่า Emacs ด้วยตนเอง: Emacs สำหรับ OS X ที่แก้ไข
  • หากคุณต้องการแอปพลิเคชั่น OS X ดั้งเดิมมากกว่าทุกอย่าง: Aquamacs
  • หากคุณต้องการ Emacs แต่ด้วยการรองรับ OS X ที่ดีเท่าที่จะเป็นไปได้: Emacs Mac Port
  • หากคุณต้องการ Emac ที่ไม่มีปัญหาใด ๆ : Emacs สำหรับ Mac OS X

คำแนะนำส่วนตัวของฉัน

ฉันไม่เคยลอง Emacs สำหรับ OS X Modified หรือ Aquamacs แต่ฉันเห็นการใช้งานเล็กน้อยในอดีต (ฉันไม่ใช่นักสถิติและสามารถติดตั้ง AUCTeX ได้ด้วยตัวเอง) ฉันขอแนะนำให้กับคนหลัง: มันเป็นทางแยกและในขณะที่มันให้การผสาน OS X ที่ดีที่สุดคุณย่อมล่าช้าอย่างหลีกเลี่ยงไม่ได้และได้รับการสนับสนุนน้อยลงจากชุมชนโดยรวมของ Emacs แพ็คเกจจำนวนมากไม่รองรับ Aquamacs ดังนั้นหากมีปัญหามีโอกาสดีที่คุณจะถูกทิ้งให้อยู่คนเดียวในฐานะผู้ใช้ Aquamacs

ฉันลองใช้ Emacs Mac Port และในขณะที่การเลื่อนท่าทางและกิจกรรม Apple เป็นไปอย่างราบรื่นฉันพบว่าประโยชน์เล็กน้อยเหล่านี้ไม่คุ้มกับความยุ่งยากในการรักษา GNU Emacs ที่ได้รับการติดตั้งแล้ว YMMV เห็นได้ชัดและถ้าคุณสนใจการสนับสนุน OS X ที่ดีและหากคุณสมบัติเหล่านี้ดึงดูดคุณคุณควรลองใช้

ทุกวันนี้ฉันใช้เพียง GNU Emacs snapshot builds สิ่งเหล่านี้มีการสนับสนุน OS X ที่ดีพอสมควรและติดตั้งง่ายที่สุดและได้รับการสนับสนุนจากชุมชนอย่างดีที่สุด

ฉันเคยได้รับมาจาก Emacs สำหรับ Mac OS X แต่ตอนนี้ฉันใช้ Homebrew เพราะรองรับไลบรารีมากขึ้นโดยเฉพาะ GNU TLS สำหรับการเชื่อมต่อเครือข่ายที่เข้ารหัส

ทั้งหมดในทั้งหมด: ใช้brew install emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick:)


8
การใช้พอร์ต mac ก็ไม่ยากเช่นกัน จากgithub.com/railwaycat/emacs-mac-port : brew tap railwaycat/emacsmacportและจากนั้นbrew install emacs-mac
Rainer

3
"พอร์ต Mac" ไม่ใช่ Emacs ตัวแรกที่รองรับ OSX GUI ดั้งเดิม แทนที่จะเกิดในช่วงเวลาที่ Emacs ย้ายจากรหัส "Carbon Emacs" เก่าไปเป็นรหัส "Emacs.app" รุ่นใหม่ (การย้ายนี้ทำขึ้นส่วนหนึ่งเนื่องจาก Carbon ถูกคัดค้านโดย Apple เพราะส่วนหนึ่งเป็นเพราะไม่มีใครต้องการรักษารหัสนั้น และอีกส่วนหนึ่งเป็นเพราะรหัส "Emacs.app" มาพร้อมกับความเป็นไปได้ที่จะสนับสนุน GNUstep จนถึงทุกวันนี้การสนับสนุน GNUstep นั้นไม่สามารถใช้งานได้ (โดยทั่วไปบางครั้งมันจะใช้ในการติดตามและแก้ไขข้อบกพร่องของรหัส OSX ในขณะที่ใช้ระบบ GNU / Linux ))
สเตฟาน

6
เขียนดีมาก ผู้ใช้ OSX บางคนอาจสนใจที่จะรู้ว่า Aquamacs มีการรองรับการตรวจสอบการสะกดคำ OSX ในตัวซึ่งรวมถึงรายการคำที่บันทึกไว้ซึ่งผู้ใช้เพิ่มไว้ก่อนหน้านี้ในพจนานุกรม ในใจของฉันนั่นคือคุณสมบัติสำคัญอย่างหนึ่งของ Aquamac ที่ไม่สามารถทำซ้ำในรุ่น Emacs อื่น ๆ โดยไม่ต้องแก้ไขซอร์สโค้ดก่อนการสร้าง อย่างไรก็ตามฉันชอบ aspell และอายมากกว่าการใช้เม้าส์ - ดังนั้นตัวตรวจสอบการสะกด OSX (ในขณะที่ดีมาก ๆ ) ไม่ใช่เหตุผลที่ฉันจะเปลี่ยนมาใช้ Aquamacs
ฏหมาย

1
คำเตือน: ฉันใช้ Linux และฉันไม่แน่ใจเกี่ยวกับ OSX แต่ฉันเขียนอีเมลใน Emacs และไม่ต้องการ TLS ฉันโทร (หรือมากกว่าmu4e) msmtpเพื่อส่งและmbsyncรับอีเมลของฉัน
mbork

1
จู้จี้ขนาดเล็ก: รวบรวมจากแหล่งต้องไม่./configure --with-ns --enable-ns
Harald Hanche-Olsen

22

การแก้ไขข้อเท็จจริงบางประการเกี่ยวกับ Aquamacs ในขณะที่มันยังคงรักษาต้นไม้ต้นกำเนิดของมันเอง แต่ก็มีการผสานอย่างสม่ำเสมอกับ Emacs และค่อนข้างจะทันทีดังนั้นทุกครั้งที่ Emacs ปล่อยออกมา Aquamacs 3.1 ออกมาในวันที่ Emacs 24.4 ได้รับการปล่อยตัว (และได้รวมคุณสมบัติทั้งหมดของ Emacs 24.4 และส่วนย่อยของข้อบกพร่อง) Aquamacs มีผู้ใช้มากกว่า 10k รายได้รับการสนับสนุนอย่างแข็งขัน

Emacs Mac Port เกิดขึ้นช้ากว่า Cocoa และ Nextstep port ใน Emacs; ถือว่าเป็นการทดลองและผู้เขียนดั้งเดิมแนะนำให้แจกจ่ายต่อนอกชุดแพทช์ของเขา ดังนั้นการสนับสนุนจะมีข้อ จำกัด มากกว่าโซลูชันอื่น ๆ มันเป็นสายการพัฒนาที่น่าสนใจอย่างไรก็ตามในที่สุดจะให้คุณค่ากับชุมชนถ้าผู้พัฒนาเป็นลูกบุญธรรม ผู้ใช้ควรพิจารณาตนเองว่าเป็น "ผู้ทดสอบเบต้า" และสนับสนุนสิ่งที่พวกเขาสามารถทำได้ด้วยรายงานบั๊กและแพทช์ที่ดี

คุณค่าของ Aquamacs นั้นอยู่ในปรัชญา "พร้อมที่จะม้วน": LaTeX, EmacsSpeaksStatistics และการรวมเข้าด้วยกันของ Mac ทำงานนอกกรอบ ไม่ต้องการการกำหนดค่าที่ซับซ้อน


Emacs เผยแพร่เพียงไม่บ่อยดังนั้นหาก Aquamacs ผสานเฉพาะหลังจากที่รุ่นที่เป็นไม่บ่อยนัก ฉันได้อัปเดตคำตอบของฉันเพื่อลบส่วนนั้นแล้ว นอกจากนี้แม้ว่า Aquamac จะได้รับการบำรุงรักษาและสนับสนุนอย่างแข็งขัน แต่การสนับสนุนจากชุมชนนั้นค่อนข้างเบาบาง มีแพ็คเกจของบุคคลที่สามเพียงไม่กี่สนับสนุน Aquamacs อย่างชัดเจน ในความเป็นจริงแพคเกจจำนวนมากสนับสนุนเฉพาะ GNU Emacs อย่างชัดเจนและไม่ใช่ส้อมหรือ derivates รวมถึง XEmacs หรือ Aquamacs
Lunaryorn

คุณมีแหล่งที่มาของคำแนะนำของผู้เขียนพอร์ต Mac ที่จะไม่กระจายชิ้นส่วนนอกชุดแพทช์ของพวกเขาหรือไม่?
Lunaryorn

@ Lunaryorn: ฉันเชื่อว่านี่เป็นเรื่องจริงในเวลานั้น แต่ก็ไม่เป็นเช่นนั้นอีกต่อไป ในการแก้ไขของฉันฉันลบความคิดเห็นนั้น
davidswelt

11

ฉันได้ลองใช้ตัวเลือกทั้งหมดข้างต้น (แม้แต่การแนะนำโดย Reiner ในความคิดเห็นด้านบน) โดยที่ไม่มีใครทำงานได้ดีสำหรับฉัน (ปัญหาการเลื่อนแทร็คแพด, แฮงค์, ฯลฯ ) อย่างไรก็ตามฉันมีความสุขมากเมื่อใช้ส้อมของยามาโมโตะมิตซูฮารูตามที่ระบุไว้ในหน้า github ของทางรถไฟ เป็นรุ่นล่าสุดที่เกี่ยวข้องกับรุ่น GNU อย่างเป็นทางการ เพียงดาวน์โหลด.dmgภาพที่นี่: https://github.com/railwaycat/emacs-mac-port/wiki/Downloads


8
เมื่อคุณมีเวลาว่างโปรดขยายคำตอบของคุณและกำหนดความแตกต่างระหว่างงานสร้างนี้และงานสร้างวานิลลา ด้วยวิธีนี้คำตอบของคุณกลายเป็นมากกว่าความคิดเห็นและผู้อ่านไม่จำเป็นต้องออกจากคำตอบนี้และดูหน้าเว็บที่ชอบ: github.com/railwaycat/emacs-mac-port/blob/master/README-mac
lawlist

0

ฉันใช้เวอร์ชัน Aquamacs จนกระทั่งเมื่อไม่นานมานี้ เหตุผลหลักที่ฉันชอบรุ่น Auquamacs ในขณะที่ฉันใช้บน Mac คือฉันสามารถใช้ Dragon Dictate กับ emacs ด้วยการตั้งค่าเริ่มต้น เมื่อฉันกำหนดค่าการตั้งค่าของฉันฉันมีปัญหากับการเขียนตามคำบอกในเวอร์ชัน emacs ปกติ นอกเหนือจากนั้นและการโยงคีย์เริ่มต้นมีความแตกต่างไม่มากที่ฉันโต้ตอบด้วย การตั้งค่าของฉันจะโหลดในลักษณะเดียวกัน ด้วยปุ่มลัดมันมีประโยชน์ที่จะมีการคัดลอกคลิปบอร์ดตัดวางและยกเลิกโดยใช้ cmd-c, cmd-v, cmd-x, cmd-x, cmd-z, S-cmd-z ที่เพิ่งติดนิสัยบน mac และฉัน สามารถทำได้โดยอัตโนมัติด้วยมือเดียวบนแป้นพิมพ์ mac แต่คุณสามารถตั้งค่าเหล่านั้นใน emacs ปกติเป็นอะไรก็ได้ที่คุณต้องการ auquamacs ไม่จำเป็นสำหรับการตั้งค่า mac หลาย ๆ อย่าง

อย่างไรก็ตามครั้งล่าสุดที่ฉันตรวจสอบ emacs ใน Auquamacs นั้นไม่ได้รับการปรับปรุงเป็นเวลาหนึ่งปีและดูเหมือนจะล้าหลัง ฉันยังได้รับคำเตือนเกี่ยวกับใบรับรองที่หมดอายุด้วย ฉันไม่แน่ใจว่ามันยังคงอยู่หรือไม่ ดูเหมือนว่าจะมีการอัปเดตบนเว็บไซต์ ฉันสามารถติดตั้ง Emacs ปกติสำหรับเวอร์ชั่น Mac ด้วย homebrew และอัปเดตไฟล์ init ของฉันเป็นการตั้งค่าสำหรับ mac ที่ได้รับอนุญาตให้เขียนตามคำบอกให้ใช้งานได้

แต่เมื่อเร็ว ๆ นี้ฉันใช้ linuxmint และฉันคิดว่าฉันจะติดมัน ระบบของฉันเงียบกว่าเร็วกว่าและราบรื่นกว่าด้วย Linux และง่ายต่อการปรับแต่งรูปลักษณ์ของเดสก์ท็อป มีการเปลี่ยนแปลงเล็กน้อยที่ฉันทำกับไฟล์ init ของ emacs ในเวอร์ชั่น Linux แต่มันก็ค่อนข้างเหมือนกัน ฉันไม่สามารถหาทางออกที่ดีสำหรับการเขียนตามคำบอกบน Linux ได้ ฉันไม่รู้ว่าเครื่องของฉันสามารถจัดการกับการใช้งานระบบปฏิบัติการอื่นในเครื่องเสมือนสำหรับซอฟต์แวร์ที่เขียนตามคำบอกได้ ซอฟต์แวร์ที่เขียนตามคำบอกเป็นหมูทรัพยากรเช่นกัน แต่นั่นเป็นปัญหาอื่น คงจะดีถ้า Dragon เปิดตัว Dictate บน Linux

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.