Comparizon ระหว่างเครื่องมือแก้ไขข้อความใน Ubuntu: Vim vs. Emacs vs. Nano [ปิด]


62

ฉันสงสัยว่าความแตกต่างระหว่างโปรแกรมแก้ไขข้อความเหล่านี้และใช้กับ Ubuntu ใดดีที่สุด

แต่ละคนมีประโยชน์อย่างไร? มีคนที่ดีกว่านี้ไหม


4
โปรดทำให้นี่เป็นวิกิชุมชน [1] meta.stackexchange.com/questions/11740/…
txwikinger

2
พวกเรากำลังคุยกันเรื่องบรรณาธิการคอนโซลหรือไม่?
Nathan Osman

ชุมชน Wiki'd
Marco Ceppi

คำตอบ:


54

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

ทุกคนจะมีบรรณาธิการที่ชื่นชอบด้วยเหตุผลบางอย่าง ค้นหาคนที่คุณชอบที่สุดและใช้มัน


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

1
micro-editor.github.ioอาจเป็นการทดแทนที่ดีกว่าสำหรับผู้ใช้ที่เป็นมิตร ถ้ามันเป็นเพียงแพคเกจสำหรับ Ubuntu ..
Anatoly techtonik

57

ฉันชอบเสียงเรียกเข้า มันทรงพลังและมีประสิทธิภาพและสมบูรณ์แบบในทุก ๆ ด้าน อย่างไรก็ตามเวลาส่วนใหญ่ฉันเพิ่งใช้ gedit เพราะฉันไม่ได้มีประสิทธิภาพและมีประสิทธิภาพเช่นเดียวกับ Vim


5
คุณจะเรียกเสียงเรียกว่า "สมบูรณ์แบบในทุก ๆ ด้าน" ได้อย่างไรถ้าคุณมี "พลังและประสิทธิภาพ" ใน gedit?
Bala Clark

39
จุดอ่อนส่วนตัวของฉันไม่ได้ลดความสมบูรณ์แบบของเสียงเรียกเข้า แต่อย่างใด
DLH

30
ไวน์รสเลิศนั้นรสชาติดีกว่าหากได้ลิ้มรสจากคนที่ชอบความหวานของโซดาองุ่นหรือไม่?
DLH

11
2001: A Space Odyssey เป็นผลงานศิลปะชิ้นเอกน้อยกว่าหรือไม่ถ้าดูจากคนที่ชอบการก้าวเดินอย่างรวดเร็วของ Transformers?
DLH

7
คุณ Sir / Madam ทำให้วันของฉัน!
Paul Hänsch

18

Vim สามารถพบได้ในระบบ Linux ทุกระบบรวมถึงอุปกรณ์ฝังตัวของคุณ นอกจากนี้ยังทรงพลังมาก (เมื่อคุณเรียนรู้วิธีใช้)


ข้อดีอีกอย่างของเสียงเรียกเข้าก็คือมันพกพาได้
pablofiumara

17

คำตอบง่ายๆคือ ...

นาโนเป็นโปรแกรมแก้ไขข้อความที่เรียบง่าย

Emacs เป็นโปรแกรมแก้ไขข้อความที่มีคุณสมบัติครบถ้วนสำหรับการเขียนโปรแกรม อันนี้มักจะง่ายต่อการเรียนรู้ แต่ยังคงสับสน นี่เป็นเพราะคุณสมบัติขั้นสูงเป็นการรวมกันของคีย์เช่น crtl + e (ไปที่ท้ายบรรทัด)

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

โดยทั่วไปแล้วนาโนนั้นมีไว้สำหรับผู้ใช้ทั่วไป Emacs และ Vim สำหรับโปรแกรมเมอร์ เลือกของคุณ (ฉันไม่ได้รับด้าน Vim vs Emacs สำหรับโพสต์นี้ lol)


สรุปได้ดี!
andol

5
อย่างไรก็ตาม +1 "Emacs และ Vim สำหรับโปรแกรมเมอร์" ?? ฉันใช้ emacs ตลอดเวลาในการเขียนเอกสาร LaTeX
steabert

1
@steabert Sure, Emacs & Vim มีประโยชน์สำหรับกรณีอื่น ๆ เช่น LaTex แต่ความเชื่อมั่นของ Andol นั้นตายไปแล้ว: พลังของเสียงเรียกเข้าและ emacs นั้นมาจากการใช้มันมากกว่า & มากกว่าในกรณีที่ใช้งานที่ "การค้นหาและแทนที่ regex" หรือฟังก์ชัน / แมโครส่วนบุคคลมีประโยชน์ ฉันไม่เห็นเครื่องมือแก้ไขหนังสือเช่น "ค้นหาและแทนที่" เหตุการณ์ "ยักษ์" ทั้งหมดที่มี "ไททานิค"
Mike Williamson

3
หากคุณเขียน LaTeX เพื่อสร้างเอกสารคุณยังคงเป็นโปรแกรมเมอร์อยู่ แต่ไม่ใช่ในลักษณะที่รับรู้กันโดยทั่วไป
thenaglecode

13

อีกสิ่งหนึ่งที่ดีในการใช้คือ Geany ซึ่งพบในตัวจัดการแพ็คเกจของ Ubuntu หรือที่ geany.org มีคุณสมบัติที่ดีจริง ๆ และหน้าต่างเทอร์มินัลในตัวดีมาก ฉันใช้มันสำหรับโครงการการเขียนโปรแกรมส่วนใหญ่ ฉันใช้ VIM เป็นจำนวนมากเช่นกันส่วนใหญ่เมื่อ ssh ต้องการลงในเซิร์ฟเวอร์ Gedit ในตัวมีประโยชน์สำหรับการแก้ไขและกำหนดค่าไฟล์อย่างรวดเร็ว


1
นี่คือโปรแกรมแก้ไขข้อความ / รหัสที่ฉันชอบแน่นอน ฉันใช้สำหรับการเขียนโปรแกรมเกือบทั้งหมดของฉัน
Tommy Brunn

1
+1 เพื่อความถูกต้อง Geany เป็นเครื่องมือแก้ไขที่ดีที่สุดที่ฉันพบสำหรับรหัสเมื่อทำงานกับไฟล์จำนวนมาก ฉันรู้ว่าคุณสามารถรับฟังก์ชั่นเดียวกันใน VIM ได้ แต่มันไม่ง่ายที่จะนำทางเหมือนกับ Geany ฉันใช้ VIM สำหรับทุกอย่าง
Richard Holloway

10

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


1
ฉันใช้ Gedit เพื่อเขียนโค้ดโครงการที่ค่อนข้างซับซ้อนในตอนนี้ มันง่ายในตอนแรก แต่มีปลั๊กอินมากมายที่ให้คุณเพิ่มฟังก์ชันการทำงาน ตัวอย่างเช่นฉันมีพาเนลด้านซ้ายพร้อมเบราว์เซอร์โครงการยูทิลิตี Find in Files และ I python syntax analyser ที่แผงด้านขวาฉันมีเบราว์เซอร์คลาสและมุมมองเอกสาร ในพื้นที่ข้อความฉันมีระบบเติมคำให้สมบูรณ์ 3 คำ (รวมถึงตัวอย่าง) และกลุ่มผู้ช่วยเหลือ (เช่นบล็อกความคิดเห็น / uncomment) คุณจะได้รับความคิด มันสามารถเติบโตเป็นบรรณาธิการที่ค่อนข้างซับซ้อน
Javier Rivera

1
BTW: ฉันสังเกตเห็นว่าโพสต์นี้เป็น "comunnity wiki" ฉันควรแก้ไขคำตอบเดิมแทนที่จะแสดงความคิดเห็นหรือไม่
Javier Rivera

@Javier คุณใช้เบราว์เซอร์ในชั้นเรียนของคุณอย่างไร ฉันยังหาปลั๊กอินที่ติดตั้งง่าย
Bala Clark

@Bala: คลาสเบราว์เซอร์ 0.3 คุณสามารถค้นหาเป็น gedit-class-browser บนที่เก็บ
Javier Rivera

8

ฉันรู้ว่านี่ไม่ใช่ตัวแก้ไขข้อความเทอร์มินัล "ลูกผู้ชาย" แต่ gedit นั้นดี คุณสามารถทำให้ gedit ดูและรู้สึกเหมือน TextMate เล็กน้อย บทความนี้ค่อนข้างเก่า แต่จะยังให้ความคิดพื้นฐานแก่คุณ ... http://rubymm.blogspot.com/2007/08/make-gedit-behave-roughly-like-textmate.html


ฉันเป็นแฟนของ gedit คนอื่น มันมีน้ำหนักเบามีส่วนขยายที่มีประโยชน์มากมายและข้ามแพลตฟอร์มในขณะนี้และพร้อมใช้งานสำหรับ Mac & Windows
Bala Clark

ด้วยการเพิ่มปลั๊กอินจาก repo และเปิดใช้งานพวกมันทำให้ gedit กลายเป็นเครื่องมือแก้ไขที่ทรงพลังอย่างแท้จริง
apoorv020

6

Gedit นั้นง่ายและมีน้ำหนักเบาใช่ แต่มันมีข้อได้เปรียบที่แท้จริงมากกว่า Geany หรือไม่? คุณต้องติดตั้งปลั๊กอินหลายอันเพื่อตามฟีเจอร์ทั่วไปของ Geany เช่นการพับโค้ดเป็นต้น

ในขณะที่ปลั๊กอิน Geany จะมอบความพิเศษให้กับคุณเช่นการรวมการควบคุมเวอร์ชันการจัดการโครงการเสริมและไม่ล่วงล้ำการกระโดดระหว่างคำจำกัดความของฟังก์ชั่นและการประกาศ ฯลฯ และปุ่มลัดที่กำหนดค่าได้ใน Geany ช่วยให้คุณสามารถตั้งค่าได้ ค่าเริ่มต้นก็ค่อนข้างดีเช่นกัน Gedit สามารถรวมล่าม Python ได้ แต่ Geany จะรวมเทอร์มินัลเสมือนทั้งหมดไว้ด้วยกัน

Geany ไม่ได้มาพร้อมกับ Ubuntu แต่มีให้บริการจากแหล่งเก็บข้อมูลมันมีขนาดเล็ก (10MB) และรวดเร็วและมีคุณสมบัติเพียงพอที่จะแข่งขันกับ IDE แบบเต็มรูปแบบ เสียงระฆังและนกหวีดน้อยลง แต่รองรับการแก้ไขข้อความได้ดีขึ้น


5

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

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

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


2
ถ้าตามธีมคุณหมายถึง colorscheme ฉันขอแนะนำให้ผู้เริ่มต้นเลือกสอง: หนึ่งสำหรับโหมดปกติและอีกหนึ่งสำหรับโหมดแทรกทำให้ง่ายต่อการบอกว่าคุณอยู่ในรูปแบบใดต้องเพิ่มเช่นautocmd InsertEnter * colorscheme <scheme-name>และautocomand InsertLeave * colorscheme <scheme-name>. vimrc ของคุณ
frabjous

โปรแกรมเมอร์ส่วนใหญ่ใช้ IDE โดยทั่วไปจะใช้ vi หรือ emacs หรือ nano เพื่อเปิดไฟล์ระยะไกลในหน้าต่างเทอร์มินัล บันทึกไฟล์ใน GEdit - Ctrl + S การบันทึกไฟล์ใน vi - Esc, Colon, w, enter เร็วกว่าไหน? และฉันเป็นพนักงานพิมพ์ดีดด้วย 60wpm
RuntimeException

4

Emacs ค่อนข้างดี มีการเน้นไวยากรณ์และสนับสนุนส่วนขยาย

และสามารถขยายผ่านภาษาถิ่นของ Lisp (elisp) นอกจากนี้ยังมีโหมดสำหรับโปรแกรมสถิติมากมายรองรับ tex, ปฏิทิน, อุปกรณ์อ่านจดหมาย, tetris และแม้แต่จิตแพทย์ Emacs (หรือ Vim แต่น้อยกว่าที่ดีสำหรับสถิติ) เป็นสิ่งที่ควรค่าแก่การเรียนรู้เนื่องจากเป็นทั้งแพลตฟอร์มข้ามและสนับสนุนภาษาการเขียนโปรแกรมเกือบทุกภาษาในโลก


2

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

ลองใช้ปลั๊กอินvimperatorสำหรับ firefox


4
+1 สำหรับ vimperator หรือ vimium สำหรับ chrome :)
สลับ

1
คุณยังสามารถลองใช้ปลั๊กอิน pentadactyl ซึ่งแยกออกจาก vimperator
apoorv020

1

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

โอ้และอย่าลืมโปรแกรมแก้ไขข้อความเริ่มต้นของ Ubuntu นั่นคือ Gedit มันมีคุณสมบัติมากมายในตัวและสามารถขยายได้ผ่านทางปลั๊กอิน (ลองsudo apt-get install gedit-plugins)


1

ฉันใช้ geddit พร้อมคอมโบของการตั้งค่าและปลั๊กอิน ในเครื่องใหม่ฉันจะตรวจสอบกล่องทั้งหมดในสองแท็บแรกของการตั้งค่ากำหนดแท็บที่จะใช้ช่องว่าง 4

ฉันพบปลั๊กอินตัวอย่างเพื่อเป็นตัวโยก มันไม่ได้ให้พลังทั้งหมดของ vi หรือ emacs แต่มันเกือบจะอยู่ที่นั่นและใช้การเชื่อมโยงคีย์เดียวกันกับแอปอื่น ๆ ใน gnome มันเป็น "ที่เข้าใจได้" มากกว่า IMO อย่างน้อย


1

บันทึก. Geany เป็นเครื่องมือแก้ไขที่ยอดเยี่ยมหากคุณต้องแก้ไข XML- (การกำหนดค่า) -files!


1

อันที่ฉันต้องการคือ gEdit หากคุณต้องการเพิ่มระดับของ TextMate คุณสามารถทำได้ด้วยวิธีนี้:

sudo apt-get install gedit gedit-plugins
cd ~/Downloads
git clone http://github.com/gmate/gmate.git
cd gmate
sh ./install.sh

โอ้และตรวจสอบปลั๊กอินเพื่อเปิดใช้งานคุณสมบัติเจ๋ง ๆ ที่คุณต้องการ


1

ฉันใช้นาโนที่มีการปรับแต่งทั้งหมดสำหรับภาษาที่ฉันเขียน ฉันได้รับ UI ที่เรียบง่ายพร้อมคุณสมบัติมากมายตามที่ฉันต้องการ


2
โปรดพิจารณาการอธิบายวิธีและตำแหน่งที่คุณพบการปรับแต่งเหล่านี้ รวมคำแนะนำเกี่ยวกับวิธีการติดตั้ง ยังมีประโยชน์จะเป็นคำแนะนำทั่วไปเกี่ยวกับวิธีการใช้นาโน พิจารณา OP ไม่คุ้นเคยกับซอฟต์แวร์นี้และผู้อ่านคนอื่นอาจไม่เป็นเช่นนั้น
Anthony

1

ฉันชอบgeditมากกว่าทั้งหมด

เป็นที่ยอมรับว่าฉันใช้เวลาไม่นานในการลองเป็นกลุ่ม แต่อีกสองคนที่ฉันไม่รำคาญ

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

นี่คือภาพหน้าจอบางส่วนจากเว็บไซต์ของพวกเขา:

geditScreenshot

ฉันพบว่า emacs น่ากลัวจริงๆที่จะใช้

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