ฉันต้องการเรียนรู้ Emacs หรือ Vi ฉันไม่ชอบการแก้ไข modal แต่ Vi นั้นแพร่หลายและดูมีประโยชน์มากกว่าสำหรับกรณีฉุกเฉิน อะไรคือสาเหตุที่ทำให้ Emacs ไม่ได้รับการติดตั้งล่วงหน้าในการกระจายส่วนใหญ่
ฉันต้องการเรียนรู้ Emacs หรือ Vi ฉันไม่ชอบการแก้ไข modal แต่ Vi นั้นแพร่หลายและดูมีประโยชน์มากกว่าสำหรับกรณีฉุกเฉิน อะไรคือสาเหตุที่ทำให้ Emacs ไม่ได้รับการติดตั้งล่วงหน้าในการกระจายส่วนใหญ่
คำตอบ:
คำตอบโดยตรงน่าจะviเป็นส่วนหนึ่งของมาตรฐาน POSIX (ตามที่ @jasonwryan พูดถึงในคอมเม้นต์) เช่นเดียวกับข้อมูลจำเพาะ UNIX เดี่ยว ดังนั้นสิ่งใดก็ตามที่เรียกตัวเองว่า POSIX อาจเป็นสิ่งที่มีลักษณะviเหมือนและสิ่งใดก็ตามที่ต้องการเรียกตัวเองว่า UNIX นั้นมีอยู่หรือคุณไม่ได้รับการรับรอง ไม่เพียงviแต่เครื่องมือแก้ไขบรรทัดที่เกี่ยวข้องexและภาษาสคริปต์ที่เกี่ยวข้องยังเป็นส่วนหนึ่งของมาตรฐานเหล่านี้ emacsไม่ได้เป็นส่วนหนึ่งของมาตรฐานดังนั้นจึงไม่รวม
สำหรับสาเหตุที่เป็นเช่นนั้นมีหลายสาเหตุ สำหรับหนึ่งอยู่ไกลไกลขนาดใหญ่และซับซ้อนมากขึ้นกว่าemacs viมี LISP ทั้งหมดอยู่ในนั้นเหนือสิ่งอื่นใด ส่วนหนึ่งของ POSIX ที่ตัดสินว่าสิ่งนี้ถูกเขียนขึ้นในปี 1992 เมื่อคุณต้องการคอมพิวเตอร์ที่มีเนื้อemacsมาก ฉันเคยเห็นviวิ่งบน Minix ใน 286 กึ่ง decently และในขณะที่มันไม่สำคัญมากสำหรับเดสก์ท็อปสมัยใหม่ในระบบฝังตัว แต่ก็ยังคงเป็นอย่างมาก ขนาดและความสามารถรอบด้านทำให้ยากต่อการตรวจสอบช่องโหว่ด้านความปลอดภัยซึ่งอาจเป็นปัญหาในบางแอพพลิเคชั่นที่จำเป็นต้องมีการรักษาความปลอดภัย โดยพื้นฐานแล้วทุกอย่างที่อาจทำให้แอปพลิเคชันเดสก์ท็อปดีขึ้นทำให้ส่วนประกอบของระบบแย่ลง
หากคุณกำลังขึ้นสำหรับบทเรียนประวัติศาสตร์คุณยังอาจกล่าวได้ว่าviเป็นผู้ใกล้ชิดกับปรัชญา Unix : ทำสิ่งหนึ่งและทำมันได้ดี อันที่จริงviผุดมาจากexและเป็นโปรแกรม Unix เสมอ emacsผุดขึ้นมาจากโลกที่แตกต่างกันอย่างมากมาย: แต่เดิมมันถูกสร้างขึ้นบน TECO ซึ่งเขียนขึ้นสำหรับระบบปฏิบัติการITS มันถูกส่งไปยัง Unix ในช่วงปี 1980 เท่านั้นเนื่องจาก ITS กำลังจะตาย สิ่งนี้ทำให้emacsผู้อพยพจากวัฒนธรรมที่แตกต่างกันมากในขณะที่viเป็นชนพื้นเมือง
ที่น่าสนใจทั้งสองemacsและviออกมาเป็นครั้งแรกในปี 1976 ดังนั้นมันจึงไม่ใช่แค่ว่าviเก่ากว่า
vi vimขณะนี้ทั้งเว็บไซต์ SE อุทิศ แต่เพียงผู้เดียวที่จะเป็นและล่ารวมทั้งvi vim
vimยังเล็กกว่าemacsอยู่มาก อย่างน้อยคนที่คุณได้รับจากพื้นที่เก็บข้อมูล Debian ของการemacsปฏิบัติการครั้งที่ห้าเป็นใหญ่เป็นvimหนึ่ง นอกจากนี้ยังมีการอ้างอิงเพิ่มเติม แต่นั่นเป็นเพียงการนำไปปฏิบัติโดยเฉพาะ มีประโยชน์viใน BusyBox คุณสามารถค้นหามันทำงานบนโมเด็มและเช่น มันไม่ได้เต็มรูปแบบมาก viแต่ก็ยังคงเห็นได้ชัด คุณไม่สามารถดำเนินการได้ด้วยและยังคงเรียกมันว่าemacs emacs
นี่ไม่ใช่วิธีการทำงาน
ตัวเลือกของแพ็คเกจที่ติดตั้งโดยค่าเริ่มต้นนั้นขับเคลื่อนด้วยความต้องการในทางปฏิบัติ ไม่มีเหตุผลเชิงปฏิบัติเพียงประการเดียวในการเพิ่ม emacs โดยเฉพาะลงในการติดตั้งเริ่มต้นเว้นแต่ว่าคุณกำลังติดตั้งการกระจายที่เน้นไปที่ผู้ใช้ emacs โดยเฉพาะถ้ามีอะไรแบบนั้น
การแจกแจงลินุกซ์ทั่วไปโดยค่าเริ่มต้นจะติดตั้งระบบขั้นต่ำพร้อมกับสิ่งที่คาดหวังว่าผู้ใช้จะใช้ หาก emacs ไม่ได้เป็นส่วนหนึ่งของระบบขั้นต่ำสุดมันไม่สมเหตุสมผลเลยที่จะมีไว้ในการติดตั้งเริ่มต้น
มีระบบน้อยที่สุดเพื่อให้ผู้ใช้ขั้นสูง (ผู้ดูแลระบบ) สามารถเรียกใช้ระบบดำเนินงานการกำหนดค่าพื้นฐานโดยใช้บรรทัดคำสั่งและติดตั้งสิ่งที่เขาต้องการ
จำเป็นต้องมีโปรแกรมแก้ไขข้อความในระบบขั้นต่ำเช่นนี้เนื่องจากคุณอาจต้องแก้ไขไฟล์การกำหนดค่า ตัวเลือกขั้นต่ำที่ดีคือนาโนเนื่องจากทั้งง่ายต่อการใช้งานและมีขนาดเล็กมากดังนั้นคุณจะพบได้ในระบบที่มีการกระจายน้อยที่สุดในปัจจุบัน ตัวเลือกที่ดีอีกอย่างคือการใช้งานviอย่างง่ายเพราะอย่างที่คนอื่นพูดถึงมันเป็นตัวแก้ไขมาตรฐานสำหรับระบบ POSIX นั่นคือเหตุผลที่ว่าทำไมระบบขั้นต่ำจึงมีทั้งสองอย่างนี้บางครั้งมีเพียงระบบเดียวเท่านั้น
ทางเลือกที่ผิดอย่างสิ้นเชิงจะเป็นemacsซึ่งไม่น้อยที่สุดไม่ใช่เรื่องง่ายที่จะใช้เป็นนาโนและไม่ได้มาตรฐานตามที่ vi อีกทางเลือกที่ค่อนข้างยากจนจะมีการติดตั้งเต็มรูปแบบของกลุ่ม สิ่งเหล่านี้เป็นเครื่องมือที่เป็นส่วนหนึ่งของการติดตั้งแบบเต็มรูปแบบตั้งแต่การตั้งค่าโฮมที่สมบูรณ์ของคุณด้วยเครื่องมือแก้ไขที่คุณชื่นชอบไปจนถึงการตั้งค่ามหาวิทยาลัยสำหรับคอมพิวเตอร์ที่ใช้ร่วมกัน