Neovim คืออะไร ต่างจาก Vim อย่างไร? แล้วทำไมฉันถึงต้องแคร์?


118

ฉันเคยได้ยินเกี่ยวกับนีโอวิม ; มันแตกต่างจาก Vim อย่างไร? จุดทั้งหมดในหน้าแรกเป็นเพียงการเปลี่ยนแปลงทางสถาปัตยกรรม 'ใต้ฝากระโปรง' ในฐานะผู้ใช้ฉันแตกต่างกันอย่างไร


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

กวดวิชาได้รับการปรับปรุง มันดูแตกต่าง
Fernando Rodriguez

"เว็บไซต์ที่ดูดีนั่นเป็นสิ่งหนึ่งที่ Neovim ทำถูกต้อง" - Bram Moolenaar จากการสัมภาษณ์
ไมเคิล

ตัวเลือกพื้นฐานบางอย่างดูแปลกและไม่เกี่ยวข้องกับเป้าหมายหลัก ... หลายคนรู้สึกเหมือนใครบางคนที่ไม่ชอบรหัสเก่าและต้องการที่จะ "ถูกต้อง" ฉันสามารถยอมรับได้ว่ารหัสเก่านั้นน่าเกลียด แต่จะต้องใช้ความพยายามอย่างยิ่งใหญ่ในการสร้างการใช้งานใหม่ มันเหมือนกับว่าเกิดอะไรขึ้นกับเอลวิส: การเขียนใหม่จะทำให้ดีขึ้นมาก แต่ใช้เวลานานมากในระหว่างที่ Vim เพิ่มฟีเจอร์มากขึ้นในที่สุดก็มีผู้ใช้ Elvis ไม่มากนัก และ Elvis ที่เขียนใหม่อาจมีโค้ดที่ดี แต่ผู้ใช้ไม่สังเกตว่า binpress.com/vim-creator-bram-moolenaar-interview
NeilG

ฉันหวังว่าสิ่งที่ดีที่ NeoVim จะเกิดขึ้นสามารถเพิ่มกลับไปเป็นกลุ่ม ฉันหมายความว่าใครไม่ต้องการการสนับสนุนปลั๊กอินที่ดีกว่า GUI ที่ดีขึ้นและการฝัง? คำถามใหญ่คือทำอย่างไรและใครจะนำไปใช้อย่างเหมาะสม binpress.com/vim-creator-bram-moolenaar-interview
NeilG

คำตอบ:


81

เช่นเดียวกับโฮมเพจ neovim ที่อธิบายวัตถุประสงค์ของ neovim คือการปูทางสำหรับโครงการโอเพ่นซอร์สที่ขับเคลื่อนโดยชุมชน

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

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

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


24
+1 ให้ฉันเพิ่มความจริงที่ว่าจะมีการเปลี่ยนแปลงน้อยมากที่ผู้ใช้มองเห็นได้เป็นสิ่งที่ดี
carlosdc

27
การอ่านนี้เป็นเหมือนการประกาศใหม่แทนที่จะเป็นบทสรุปที่แท้จริงว่าทำไมใครบางคนจึงควรใส่ใจ เช่นฉันใช้ vim มาสองทศวรรษแล้วและจำไม่ได้ว่าครั้งสุดท้ายที่โปรแกรมหลักแสดงให้ฉันเห็นว่าไม่มีความมั่นคงใด ๆ ดังนั้นทำไมฉันถึงต้องสนใจ "มีเสถียรภาพมากขึ้น"?
Caleb

2
งานแบบอะซิงโครนัสไม่ควรหมายถึงการปิดกั้นอินเทอร์เฟซของ vim เพื่อทำงานที่อาจอยู่ในพื้นหลัง
alxndr

3
มีหลักฐานอะไรบ้างในสองปีที่ neovim ใช้งานอยู่ว่ามันเติบโตเร็วกว่าและมีประสิทธิภาพที่ดีขึ้นหรือไม่
Sparhawk

8
ไม่เป็นความจริงอีกต่อไปที่ Vim ไม่สนับสนุนการทำงานแบ็คกราวน์แบบไม่ต่อเนื่อง
รวย

35

ฉันพูดถึงโดยเฉพาะ:

ทำไมฉันต้องสนใจ? ในฐานะผู้ใช้ฉันแตกต่างกันอย่างไร

สิ่งที่ฉันตื่นเต้นที่สุดในฐานะผู้ใช้ Vim คือปลั๊กอินชนิดใหม่การรวมระบบและส่วนต่อประสานที่จะเปิดใช้งานโดยการเปลี่ยนแปลงภายใต้ประทุนของ Neovim

เมื่อเวลาผ่านไปคุณจะเริ่มเห็นปลั๊กอินและโปรแกรมที่น่าประทับใจซึ่งทำงานกับ Neovim แต่ไม่ใช่ Vim มีรายชื่อของปลั๊กอิน Neovim เฉพาะเป็น: ที่นี่ใน GitHub

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


15

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

การมีปลั๊กอินแบบอะซิงโครนัสก็จะมีประโยชน์อย่างมากในไม่ช้า นี่หมายความว่าในที่สุดเราก็สามารถทำโค้ดให้เสร็จได้ดีหลังจากรอ 40 ปี!

Neovim ยังรองรับเมาส์ได้ดีกว่า Vim


2
พวกเขาควรเรียกมันว่า Metavim: P
Tumbler41

ฉันไม่รู้การเปลี่ยนแปลงเฉพาะเมาส์ที่ Neovim มีซึ่งจะทำให้ดีกว่า Vim
jamessan

สิ่งที่กำลังมาถึงในขณะนี้คือคุณสามารถอยู่ในเซสชันเทอร์มินัล ssh เปิด Neovim และคลิกที่จุดเพื่อแก้ไข ฉันไม่คิดว่า Vim สามารถทำสิ่งนั้นได้แม้ว่าเป็นไปได้ว่าฉันยังไม่ใหญ่พอ. vimrc! ฉันเดาว่านี่อาจจะเรียกได้ว่าดีกว่าเพราะรองรับ ssh มากกว่าการรองรับเมาส์
Johnathan Andersen

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

1
ฉันใช้เมาส์ใน Vim ปกติมากกว่า SSH จาก Putty ที่ทำงานบน Windows โดยมีset mouse=aบรรทัดเดียวใน vimrc อยู่พักหนึ่ง
Thunderbeef

5

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

  1. NeoVim ไม่ได้พยายามที่จะ Vi เข้ากันได้โดยค่าเริ่มต้น พวกเขาเปลี่ยนค่าเริ่มต้นจำนวนมากสำหรับการตั้งค่าและกำลังพูดถึงการเปลี่ยนแปลงดังกล่าวอย่างแข็งขัน: # 2676 , # 6289
  2. มันสามารถฝังตัวในการดำเนินการอื่น (จำบูรณาการ NetBeans ?) และมีGUIs ที่แตกต่างกันเพื่อให้ MacVim ไม่มี GUI $EDITORสุดหรูที่คุณสามารถหาของคุณ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.