Emacs-as-OS: ล้าสมัยแล้วหรือ [ปิด]


22

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

  • ฉันจะไม่ใช้เบราว์เซอร์ในตัว Chrome เป็นปีต่อไป
  • ฉันจะไม่ใช้คุณสมบัติที่น่ากลัวของมัน Path Finder (Mac OS X) เหมาะสมกับความต้องการของฉัน
  • ฉันจะไม่ใช้อีเมลในตัว เว็บอินเตอร์เฟสของ Gmail มีคุณสมบัติที่เกี่ยวข้องมากกว่าเช่นกล่องจดหมายสำคัญ
  • เป็นต้น

แน่นอนว่าฉันอาจจุ่ม Emacs เป็นครั้งคราวเพื่อใช้งาน regexps ฯลฯ สำหรับงานใดงานหนึ่งข้างต้น แต่นอกเหนือจาก regexps ฉันไม่เห็นเหตุผลที่จะสัมผัสคุณสมบัติด้านข้างเหล่านั้นเลย ฉันเป็นมือใหม่อย่างสมบูรณ์ แต่ฉันมีความรู้สึกที่แข็งแกร่งที่ Emacs-as-an-OS ล้าสมัย

ผู้เชี่ยวชาญของ Emacs คุณคิดว่าทางเลือกของ Emac ในการเป็นสภาพแวดล้อมที่ครอบคลุมนั้นเป็นตัวเลือกที่เหมาะสมสำหรับปี 2010 และในอนาคตหรือไม่ มีคุณสมบัติต่อพ่วงโดยเฉพาะที่ยังคงอยู่หรือก่อนเวลาเปรียบเทียบกับทางเลือกอื่นหรือไม่


9
นี่เป็นคำถามจริงเหรอ? ดูเหมือนว่าคุณจะตัดสินใจแล้ว
Larry Coleman

5
@Emacs ดีมากสำหรับการพัฒนา gcc + gdb ในสภาพแวดล้อม Unix นอกจากนี้ยังดีสำหรับการเขียน LaTeX

20
นี่คือเหตุผลที่ Emacs มีจิตแพทย์ที่สร้างขึ้น
ทิมโพสต์

3
@ Tim, Mx tetris สนุกกว่านี้เยอะ

2
ฉันเข้าใจคุณโดยสิ้นเชิง ... ฉันใช้ vi มาหลายปีแล้วและใช้เวลาพอสมควรในการเรียนรู้ Emacs ... และฉันได้ข้อสรุปว่าทั้งสองไม่เหมาะกับความต้องการของฉัน ... สำหรับการเขียนโปรแกรมฉันชอบ IDE ที่ทันสมัย ​​(Eclipse) และสำหรับการแก้ไข / การเขียนสคริปต์ข้อความอย่างง่ายนาโนก็ใช้ได้
Oliver Weiler

คำตอบ:


14

ฉันใช้ emacs สำหรับที่ผ่านมา 10 ปี (จากและไปยัง) และฉันสามารถพูดได้ว่าคุณเป็นอย่างที่เหมาะสม ย้อนกลับไปในสมัยนั้นฉันใช้ gnus และเบราว์เซอร์ w3 แต่เห็นได้ชัดว่าพวกเขาไม่ได้เป็นอย่างนั้นเมื่อเทียบกับโปรแกรมเฉพาะ แต่เห็นได้ชัดว่าคุณไม่สามารถเรียกใช้ Chrome ในโหมดข้อความดังนั้นนี่จึงเป็นที่ที่ emacs ชนะ และถึงตรงนั้นฉันก็ควรใช้ lynx / elinks หรือ mutt เพื่อสิ่งนั้น

Emacs-the-programmers-editor ก็หายไปเช่นกัน การแก้ไขข้อความทำได้ดี แต่เมื่อฉันเขียนรหัสฉันพบว่าตัวเองต้องการฟังก์ชั่นเช่น: goto definition, auto complete, refactoring, คำแนะนำทางไวยากรณ์, docs พารามิเตอร์ ฯลฯ และอื่น ๆ (คิดว่า Eclipse) ฉันลองใช้โหมด emacs สองสามอัน แต่ไม่เคยทำให้มันทำงานได้ และไม่ฉันไม่ต้องการเรียนรู้เอลิคขอบคุณ

นอกจากนี้ emacs ก็ไม่เข้าใจความหมายของรหัส สิ่งนี้เห็นได้ชัดอย่างเจ็บปวดเมื่อทำการเข้ารหัสในไฟล์ที่มีหลายภาษาเช่น html กับ javascript และ php หรือบางอย่าง มันเพิ่งพังทลาย เพื่อที่ฉันค่อนข้างใช้แก้ไขอื่น ๆ (notepad ++ หรืออะไรก็ตาม) ซึ่งทำงานได้ดีขึ้นมาก


5
ในสิ่งที่คุณแสดงรายการ Emacs นั้นมี "คำจำกัดความของ goto" (โดยใช้ etags) "การทำให้สมบูรณ์อัตโนมัติ" ( autocomplete.elฉันคิดว่า) คำแนะนำไวยากรณ์ / เอกสารพารามิเตอร์ (ตามภาษาต่อภาษา) สิ่งเดียวที่คุณพูดถึงไม่สนับสนุน AFAIK คือการปรับโครงสร้างอัตโนมัติใหม่ซึ่งไม่จำเป็นหรือไม่มีประโยชน์สำหรับทุกภาษา หลายโหมดนั้นมีความเลวร้าย มันมีอยู่และรองรับ PHP และภาษาผสม แต่ก็แย่ (เหมือนช้าเกินไปเว้นแต่ว่าฉันจะอยู่บนเดสก์ท็อปของฉัน) ฉันจะให้คำแนะนำแบบเดียวกันกับที่ฉันให้เพื่อนร่วมงานคนอื่นด้วย: ถ้าคุณไม่ต้องการเรียนรู้ Lisp อย่าใช้ Emacs มันจะไม่ทำอะไรให้คุณเลย
Inaimathi

8
ตกลงกัน; Emacs ไม่ใช่ระบบปฏิบัติการ คำคัดค้านของฉันคือ "Emacs-the-programmers-editor ได้สูญเสียการสัมผัสเช่นกัน" นี่เป็นข้อโต้แย้งที่ไม่มีเหตุผลเป็นพิเศษเนื่องจากคุณปฏิเสธที่จะเรียนรู้ Elisp เนื่องจากประโยชน์ส่วนใหญ่ของ Emacs-the-programmers-editor มาจากการนำการปรับแต่งมาใช้ ฉันจะไม่คัดค้าน "ฉันไม่ได้ใช้ Emacs เพราะฉันไม่รู้สึกเหมือนเรียนรู้ Lisp" แต่คุณทำให้มันฟังดูเหมือนความไม่รู้ของเครื่องมือโดยเจตนาที่ส่งผลกระทบต่อความสมบูรณ์ของมัน นี่คือสิ่งที่ฉันพูดว่า "Eclipse แย่เพราะไม่มีการสนับสนุน PHP และฉันไม่รู้สึกอยากเรียนรู้วิธีติดตั้งปลั๊กอินขอบคุณ"
Inaimathi

1
@Inaimathi คุณไม่จำเป็นต้องเรียนรู้ elisp (หรือภาษาใด ๆ ) สามารถใช้ eclipse ได้อย่างถูกต้อง การติดตั้งปลั๊กอินไม่จำเป็นต้องใช้ทั้ง
Martin Wickman

2
@Martin - มันไม่ได้สร้างขึ้นในการสนับสนุน PHP (หรือไม่เมื่อฉันใช้มัน); คุณต้องติดตั้งปลั๊กอินสำหรับสิ่งนั้น ข้อความที่ยกมาข้างต้นนั้นเทียบเท่ากับ "[Editor] sucks เพราะมันไม่มี [คุณสมบัติจริง ๆ มี แต่ต้องเปิดใช้งาน] แต่ฉันไม่รู้สึกเหมือนเรียนรู้ [สิ่งที่คุณต้องทำตามลำดับ เพื่อเปิดใช้งาน] "และประเด็นของฉันคือว่านี่เป็นข้อโต้แย้งที่ไม่สมเหตุสมผล
Inaimathi

3
@Inaimathi: ตราบใดที่การปรับสภาพเกิดขึ้นอีกครั้งฉันกำลังมองหาโปรแกรมการสร้างใหม่อัตโนมัติ C ++ และหนึ่งในไม่กี่อย่างที่ฉันพบคือเอลิส หากคุณพูดว่า "emacs ไม่รองรับ X" แสดงว่าคุณมีแนวโน้มที่จะผิด
David Thornley

19

เลือกเครื่องมือที่เหมาะสมสำหรับงาน

ลองใช้ Chrome หรือ Path Finder ผ่านการเชื่อมต่อ ssh ที่นี่คุณจะต้องใช้เครื่องมือทางเลือกและ Emacs ได้รับการออกแบบมาให้ทำงานในเทอร์มินัล


จุดดีเกี่ยวกับ ssh
AlcubierreDrive

3
ส่งต่อ x11
TheLQ

7
มีกี่คนที่ใช้เว็บเบราว์เซอร์ผ่านการเชื่อมต่อ ssh?
compman

1
@compman ใช่ มันจะมีประโยชน์อย่างยิ่งสำหรับการดาวน์โหลดไฟล์จากเว็บไซต์

1
OS X มี VNC เพียงแค่เชื่อมต่อ VNC ผ่าน SSH และคุณไม่ต้องกังวลว่า OS X จะไม่ใช้ X11
Lie Ryan

8

ฉันไม่ได้ใช้นักบำบัดที่มีอยู่มากมาย แต่ฉันใช้ Emacs และฉันชอบมันไม่ใช่เพราะมันเป็นธรรมชาติที่ครอบคลุม แต่เพราะมันสามารถกำหนดค่าได้อย่างมีประสิทธิภาพ นอกจากนี้ฉันรู้การกดแป้นจำนวนมากสำหรับมัน การแก้ไขข้อความที่ประสบความสำเร็จล้วนเกี่ยวกับการกดแป้น

หากคุณต้องการพัฒนาประสิทธิภาพของคุณด้วยSteve Yegge มีเคล็ดลับดีๆ


ฉันไม่เห็นด้วยอย่างยิ่งกับวิธีการของ Steves ที่ปฏิเสธกุญแจจำนวนมากเพื่อให้ Emacs ทำงาน เรียนรู้การผูกคีย์มาตรฐานและใช้. emacs ของคุณเพื่อปรับแต่งพฤติกรรมของพวกเขา

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

5

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

แก้ไข: สองคุณสมบัติโปรดของ emacs นอกเหนือจากการแก้ไขข้อความคือโหมดเชลล์และ gnus หลังจากผิดหวังกับ Google Groups เนื่องจากสแปมทั้งหมดฉันลงทะเบียนกับEternal กันยายนและเรียนรู้วิธีใช้ gnus มันเร็วกว่ามากในการนำทางข้อความและมีเพียงการโพสต์สแปมเป็นครั้งคราวเท่านั้นที่ผ่านและการกำจัดมันเป็นเรื่องของการกดปุ่มเดียว โหมด Shell มีประโยชน์อย่างยิ่งกับฉันในที่ทำงานเพราะการคัดลอก / วางมีประสิทธิภาพมากกว่าในระบบพรอมต์ DOS


ฉันไม่ได้ยกเลิกโปรแกรมแก้ไขข้อความที่ล้าสมัย ฉันเห็นด้วยมันมีประสิทธิภาพมากเมื่อคุณชินกับมันแล้ว คำถามของฉันเกี่ยวกับข้อดีของตัวเลือกการออกแบบที่คุณควรทำทุกอย่างได้โดยไม่ต้องออกจาก Emacs มีคุณสมบัติต่อพ่วงเฉพาะที่ยังคงยอดเยี่ยมหรือคุณมีข้อมูลเชิงลึกเกี่ยวกับประวัติอุปกรณ์ต่อพ่วงที่ยอดเยี่ยมที่เคยผ่านมาแล้วหรือไม่?
AlcubierreDrive

1
ฉันแก้ไขส่วนที่เลิกใช้แล้วซึ่งล้าสมัยหลังจากอ่านความคิดเห็นของคุณ ฉันไม่ได้ใช้ emacs สำหรับทุกสิ่ง แต่ฉันชอบโหมด shell และ gnus จริงๆ
Larry Coleman

หวาน! ฉันได้เพิ่มคำถามใหม่ในครึ่งหลังเพื่อตอบสนองต่อความคิดเห็นของคุณ ความคิดเห็นของคุณตอบกลับอย่างนั้น +1
AlcubierreDrive

1
นอกจากนี้ความสามารถในการทำทุกอย่างใน emacs ทำให้มีเหตุผลมากขึ้นในปี 1994 เมื่อคอมพิวเตอร์ที่ช้ากว่ามากตอนนี้พวกเขาอยู่ ฉันใช้เป็นครั้งคราวถ้าฉันอยู่ใน emacs อยู่แล้วและฉันใช้เปลือกหอยเยอะ ความสามารถในการทำสิ่งต่าง ๆ มากมายในโปรแกรมแก้ไขของฉันหรืออย่างน้อยโดยไม่ต้องเลื่อนเมาส์ก็เป็นชัยชนะสำหรับฉัน คุณอาจมีรสนิยมที่แตกต่างกัน (นี่เป็นเรื่องของรสนิยมในระดับหนึ่ง)
Zachary K

2

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

นั่นเป็นเหตุผลว่าทำไมหลายสิ่งล้าสมัย คนส่วนใหญ่ (ที่ฉันได้พบแล้ว) ที่ใช้ Emac ไม่ได้ใช้เพื่ออ่านอีเมลหรือท่องเว็บ อย่างไรก็ตามฉันกดยากที่จะหาเครื่องมือแก้ไขอื่นที่มี

  • ความสามารถในการแก้ไขจากระยะไกลที่ซับซ้อน
  • การสร้างและแก้ไขมาโครแบบอินไลน์แบบฟรีฟอร์ม
  • ความลึกและความกว้างของส่วนขยาย / แพ็คเกจที่มีอยู่

เป็นตัวเลือกที่ฉันเลือกมานานกว่าทศวรรษในการพัฒนาซอฟต์แวร์และการประมวลผลคำ

ดีที่สุดของทั้งหมดฉันไม่ต้องสัมผัสเมาส์เมื่อใช้ Emacs


2

Emacs อาจเป็นระบบปฏิบัติการสำหรับคุณหากคุณยินดีที่จะเรียนรู้ Lisp และเขียนคุณสมบัติของคุณเองที่เหมาะสมกับความต้องการของคุณ

แต่ทุกวันนี้คุณสามารถพบทุกสิ่งที่คุณต้องการในเครื่องมืออื่น ๆ ที่ทำโดยคนเก่ง ๆ คนอื่น ๆ คนเหล่านั้นสร้างเครื่องมือเหล่านั้นเพราะพวกเขารู้สึกว่าพวกเขาต้องการพวกเขาเช่นเดียวกับคุณที่จะใช้พวกเขา เนื่องจากหลายคนเป็นโอเพ่นซอร์สจึงมีชุมชนที่จะทำให้พวกเขาดีขึ้นและดีขึ้นด้วยฟังก์ชันทั้งหมดที่คุณต้องการ

การพยายามปรับปรุง Emacs เป็นเรื่องยากเพราะคุณต้องเรียนรู้ Lisp แม้แต่ปลั๊กอินที่มีอยู่ก็ยังเก่าขึ้นเรื่อย ๆ ใช้โหมดภาษาเช่นภาษาทั่วไปเช่น JS และ PHP แทบจะไม่ได้รับการสนับสนุนแม้กระทั่งการเน้นไวยากรณ์ โหมดที่ดีที่สุดที่คุณสามารถหาได้นั้นไม่เพียงพอ

Emacs เป็นเครื่องมือที่ยอดเยี่ยมในมือขวาและสำหรับงานที่เหมาะสม แต่มีเครื่องมือที่ดีกว่าสำหรับงานที่ระบุและคุณควรใช้สิ่งเหล่านี้แทน


1

ฉันไม่ต้องการที่จะเริ่มสงครามศักดิ์สิทธิ์จริง ๆ แล้วมีช่วงเวลาที่ฉันใช้ emacs ทุกวันที่สอง (หนึ่งวันเป็นกลุ่ม emacs วันหนึ่ง) ไม่มีอะไรผิดปกติกับ emacs มันเป็นเครื่องมือที่ยอดเยี่ยมแน่นอน สุดยอดเครื่องมือที่ยอดเยี่ยม

แต่ในฐานะนักปราชญ์ตัวจริงฉันรู้สึกหงุดหงิดอยู่เสมอกับความจริงที่ว่า emacsers หลายคนพยายามใช้ emacs อย่างแท้จริงทุกหนทุกแห่ง

การอ่านเมลการสืบค้นฐานข้อมูลการอ่านไฟล์ PDF เป็นงานที่ไร้เดียงสาที่สุดที่ฉันเคยเห็นว่า "emacsificated"

ดังนั้นสำหรับฉันมีต้นไม้เป็นพื้นที่หลักของการใช้ emacs:

  1. แก้ไขข้อความ และเป็นเครื่องมือที่ยอดเยี่ยม เชื่อฉันหลังจากใช้เสียงเรียกเข้าหรือ emacs เป็นเวลานานคุณจะพลาดคุณสมบัติทั้งหมดใน IDE ขั้นสูงที่สุด

  2. IDE ก็สามารถทำได้ ยิ่งไปกว่านั้นมันสามารถแข่งขันกับ IDE ของโหมดได้ แต่ความจริงคือการทำให้การแข่งขันคุณควรลงทุนอย่างหนัก คุณควรพยายามรวบรวมสคริปต์ที่แตกต่างกันมากมาย คุณควรเขียนโค้ดของคุณเองด้วยซ้ำ ฉันจะไม่ซื่อสัตย์

  3. งานอื่น ๆ พวกเขาส่วนใหญ่แปลกใหม่หรือแม้กระทั่งลึกลับ เล่น Tetris และอื่น ๆ ไม่ดีกว่า.


1
ในฐานะผู้ใช้ emacs และ vi เป็นเวลานาน (มากกว่า 20 ปีมีประสบการณ์ของทั้งสองและใช้เวลาประมาณ 1 ปีในการใช้ ed เป็นบรรณาธิการหลักของฉัน) ฉันพบว่า emacs ใกล้เคียงสูงสุดเป็นครั้งคราว "ฉันมีรหัสซ้ำ ๆ ให้ตัวแก้ไขสร้างมันเองโดยอัตโนมัติ "(แทนที่จะพูดเขียนโค้ดอีกชิ้นแล้วรวบรวมและเรียกใช้เพื่อสร้างโค้ด)
Vatine

0

ที่ไหนสักแห่งในคอลเล็กชั่นของฉันฉันแน่ใจว่าภรรยาของฉันปรารถนาฉันจะทิ้งฉันมีสำเนา Emacs ในเทป QIC-40 ฉันจ่าย $ 50 เพื่อรับมัน

ฉันไม่สามารถ # @% # $ # $% @ ^ #% # ได้ฉันไม่สามารถทนได้ในตอนนี้ ฉันไม่ได้บอกว่ามันไม่ใช่ตัวแก้ไขที่ยอดเยี่ยมสำหรับบางคน แต่สำหรับฉัน .. มันเป็นมากกว่าสิ่งใด มันเป็นการเริ่มแรกคือการทำงานกับกุญแจขวดโค้กและมันก็ทำได้ดีมาก

หากคุณเรียกใช้โปรแกรมโปรแกรมใด ๆ คุณทำได้โดยหวังว่ามันจะเพิ่ม (หรืออย่างน้อยก็ไม่ขัดขวาง) ผลผลิตของคุณ ถ้ามันไม่ได้ผลสำหรับคุณอย่าใช้มัน

เชื่อฉันสิคุณไม่ใช่ปัญหา


2
"นี่คือสิ่งประดิษฐ์ที่สำคัญและมันเป็นของพิพิธภัณฑ์!"

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