ข้อดีของ Emacs สำหรับผู้ใช้ Mac OS X คืออะไร?


9

ในช่วงปีที่ผ่านมาฉันเห็นการเคลื่อนไหวไปสู่การเปลี่ยนเป็น Emacs บน Mac OS X ซึ่งมักจะอยู่ห่างจาก TextMate ในขณะที่ฉันเข้าใจแรงจูงใจในการเปลี่ยนจาก TextMate (TM2 เป็นไอมากหรือน้อยกว่า) ฉันไม่เข้าใจถึงความดึงดูดของ Emacs ฉันรู้ว่ามันเป็นเครื่องมือแก้ไขที่ทรงพลังมาก แต่มันไม่ได้รวมเข้ากับระบบปฏิบัติการได้เป็นอย่างดีใช้คำสั่งที่แตกต่างจากแอพพลิเคชั่นอื่น ๆ ส่วนใหญ่และมีส่วนโค้งการเรียนรู้

ด้วยความเหนือกว่าของเครื่องมือแก้ไขข้อความโปรแกรมเมอร์คนอื่น ๆ บน Mac OS X (BBEdit, Sublime Text, Xcode) และผู้ที่กำลังจะมาถึง (Chocolat, Kod) สิ่งที่ดึงดูด Emacs สำหรับคนที่ไม่ได้อยู่ในอาคารและไม่มี หน่วยความจำของกล้ามเนื้อมัน (ยัง)?


1
นอกจากนี้โปรดทราบว่าทางลัด Emacs จำนวนมากทำงานสำหรับการแก้ไขข้อความใน OS X เช่น Ctrl + D สำหรับการลบขวา, Ctrl + K สำหรับการฆ่าและ Ctrl + Y สำหรับ Yank ฯลฯ สิ่งนี้เล่นได้ดีกับ Aquamacs Emacs ที่ Cmd +? แป้นพิมพ์ลัดเช่น Cmd + Z สำหรับ Undo, Cmd + X, + C, + V สำหรับ Cut / Copy / Paste ทั้งหมดทำงานเหมือนกับ OS X ที่เหลือ
Jared Updike

คำตอบ:


6

IMO หากคุณมีพื้นหลัง UNIX ที่มีประสบการณ์ก่อนหน้านี้กับ Emacs มันอาจสมเหตุสมผลที่จะ "ยกยอดไปข้างหน้า" บน OS X ในฐานะโปรแกรมแก้ไขข้อความใหม่ฉันคิดว่ามันไม่สมเหตุสมผล ใช่มันเป็นโปรแกรมแก้ไขข้อความที่มีความสามารถอย่างเต็มที่และมันสามารถทำทุกอย่างได้ แต่อย่างที่คุณพูดมันไม่ได้รวมเข้ากับระบบปฏิบัติการได้ดีซึ่งสำหรับฉันนั้นเป็นอุปสรรค์สำคัญ

ฉันใช้ vim บน OS X เพราะมันเป็นตัวเลือกที่ฉันเลือกบน Linux (ซึ่งฉันได้ทำงานมากที่หาเงินให้ฉัน) แต่จากสิ่งที่กล่าวมาฉันได้เริ่มเรียนรู้และใช้ BBEdit


10

คุณสามารถใช้ OSX GUI Emacs ในรูปแบบของAquamacsซึ่งได้รับการกำหนดค่าให้เป็น OSX มากขึ้นเช่นเดียวกับคำสั่งและเมนูหลักและรวมเข้ากับระบบปฏิบัติการ

สิ่งหนึ่งที่ดึงดูดความสนใจของ emacs ก็คือเพราะ emacs ส่วนใหญ่เขียนด้วยภาษา (e-lisp) ที่ผู้ใช้สามารถใช้เพื่อขยายมันมีสคริปต์จำนวนมากที่เพิ่มฟังก์ชันการทำงานทุกประเภทลงในเอดิเตอร์ทำให้เกือบทรงพลังเท่ากับ IDE แม้การกำหนดค่าจะถูกเขียนในภาษาเดียวกันดังนั้นเมื่อคุณเรียนรู้แล้วคุณสามารถแก้ไขสิ่งที่คุณต้องการ

เหตุผลอื่น ๆ ที่ฉันใช้ emacs ก็คือมันทำงานบนระบบปฏิบัติการหลายระบบ (Windows, Linux, Solaris และ OSX) และฉันไม่ต้องการเครื่องมือแก้ไขที่แตกต่างกันสำหรับแต่ละตัวเช่นถ้าฉันใช้ BBEdit เป็นต้น


1
Emacs คือ Emacs ทุกที่ที่คุณไป เรียนรู้ครั้งเดียว (และพิมพ์แผ่นโกงที่ดี) และคุณจะรู้ได้ตลอดกาล
kmm

1
@ เควิน: ฉันใช้มันมาตั้งแต่ปี 1991 และฉันยังคงเรียนรู้อยู่ ;-) ฉันอยู่ในนั้นสำหรับการทำงานของผมใช้มันทุกวัน แต่ฉันยังคงเรียนรู้เคล็ดลับเช่น M- / สำหรับการเสร็จสิ้นในท้องถิ่นแบบไดนามิก ...
ไมเคิลเอช

6

คำตอบสำหรับคำถามเช่นนี้มีแนวโน้มที่จะเป็นอัตนัย ฉันมักจะไม่เห็นด้วยที่ Emacs.app ทำงานได้ไม่ดีใน MacOS ปัจจุบันฉันใช้ Emacs.app ปกติจากemacsformacosx.com (ไม่ใช่ Aquamacs) และไม่กี่บรรทัดใน ~ / .emacs สามารถใช้ทางลัดที่คุ้นเคยเช่นลอง

(setq mac-option-modifier nil)
(setq mac-right-option-modifier 'meta)
(setq mac-right-command-modifier 'hyper)
;; M-x to its usual meaning:
(global-set-key (quote [343144]) (quote execute-extended-command))
;;  M-p to its usual meaning:
(global-set-key (quote [332412]) (quote next-history-element))

ทางลัดเช่น cmd-O เปิดกล่องโต้ตอบไฟล์ MacOS ปกติดังนั้นไม่จำเป็นต้องเรียนรู้ทางลัดใหม่ ๆ บังเอิญทางลัดทั่วไปของ MacOS มาจาก Emacs (เช่น Ca สำหรับการเริ่มต้นของบรรทัดและ Ce สำหรับ end-of-line ซึ่งเป็นค่าเริ่มต้นในแอป MacOS ส่วนใหญ่เช่น Safari หรือ iWork)

เหตุผลหลักว่าทำไมฉันใช้ Emacs:

  1. รองรับแทบทุกภาษาการเขียนโปรแกรมไม่เพียง แต่เน้นไวยากรณ์ แต่ยังจัดแต่งทรงผมเสร็จสมบูรณ์ของตัวบ่งชี้การเยื้องอัตโนมัติ (เพียงใช้ TAB ใน emacs รักษารหัสที่สะอาดและป้องกันวงเล็บที่พิมพ์ผิด / วงเล็บที่ไม่ตรงกัน ฯลฯ )

  2. โหมด org

  3. รองรับการแก้ไข / ดูตัวอย่างเอกสาร LaTeX ได้อย่างยอดเยี่ยมโดยใช้AUCTex

  4. ความเข้ากันได้ของเวิร์กโฟลว์กับเดสก์ท็อปของฉันซึ่งเป็นคอมพิวเตอร์ Linux

  5. เครื่องมือที่มีประสิทธิภาพสำหรับการพัฒนาซอฟต์แวร์ (และไม่เพียง แต่) เช่น magit เกิดขึ้น

  6. การสนับสนุนที่น่าอัศจรรย์ในEmacsWiki


1
+1 เนื่องจากสิ่งเหล่านี้เป็นเหตุผลหลักที่ฉันใช้ emacs บน OS X ไม่ต้องพูดถึงนั่นคือสิ่งที่ฉันใช้บน Linux ก่อนที่จะเปลี่ยนเป็น Mac โหมด org นั้นยอดเยี่ยมและฉันพยายามหาวิธีเพิ่มในเวิร์กโฟลว์ของฉันอยู่เสมอ
cm2

5

ไม่ใช่คำตอบที่ถูกต้องจริงๆ แต่มีการผูก mac เฉพาะในการสร้าง Cocoa Emacs ที่มีประโยชน์

Emacs การเชื่อมโยงคีย์เฉพาะของ Emacs Cocoa Mac / OS

  • + &kill-this-buffer
  • + 'ถัดไปหลายชื่อหน้าต่าง
  • + ,ปรับแต่ง
  • + -กลางบรรทัด
  • + ;ispell-next
  • + shift+ :ispell
  • + shift+ ?ข้อมูล
  • + shift+ Cแผงป๊อปอัพสี
  • + shift+ Ddired
  • + shift+ Eedit-abbrevs
  • + shift+ Hdo-hide-others
  • + shift+ Lshell-command
  • + shift+ Mการป้อนข้อมูลด้วยตนเอง
  • + shift+ Sns-write-file-using-panel
  • + shift+ ^kill-some-buffers
  • + `เฟรมอื่น ๆ
  • + aเครื่องหมายทั้งบัฟเฟอร์
  • + cns-copy- รวมถึงรอง
  • + disearch-repeat-backward
  • + eisearch-yank-kill
  • + fisearch-forward
  • + gisearch-repeat-forward
  • + hns-do-hide-emacs
  • + jจุดแลกเปลี่ยนและเครื่องหมาย
  • + kkill-this-buffer
  • + lgoto-line
  • + miconify-frame
  • + nทำเฟรม
  • + ons-open-file-using-panel
  • + pns-print-buffer
  • + qsave-buffers-kill-emacs
  • + sบันทึกบัฟเฟอร์
  • + tns-popup-font-panel
  • + uเปลี่ยนกลับบัฟเฟอร์
  • + vงัด
  • + wลบเฟรม
  • + xkill-region
  • + yns-paste-Secondary
  • + zเลิกทำ
  • + |shell-command-on-region
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.