ความแตกต่างระหว่าง Vi และ Vim คืออะไร?


178

ฉันอยากจะขอบคุณมันถ้ามีคนสามารถปล่อยให้น้องรู้ว่าสิ่งที่แตกต่างระหว่างและvi vimฉันเคยได้ยิน Vim เป็นผู้สืบทอดviแต่เมื่อใดก็ตามที่ฉันพยายามเปิดviใน Ubuntu มันจะเปิดขึ้นvimแทน


คำตอบ:


169

หน้าที่เป็นกลุ่มเกือบจะเป็นเซ็ตที่เหมาะสมของvi ดังนั้นทุกอย่างที่อยู่ใน vi จึงมีให้เป็น vim

เป็นกลุ่มเพิ่มลงในคุณสมบัติเหล่านั้น นี่คือฟีเจอร์เสริมบางส่วน:

  • Vim ได้รับการจัดส่งไปยังช่วงของ OS ที่กว้างกว่า vi
  • Vim รวมถึงการสนับสนุน (การเน้นไวยากรณ์, การพับโค้ดและอื่น ๆ ) สำหรับภาษาการเขียนโปรแกรมยอดนิยมหลายภาษา (C / C ++, Python, Perl, shell, ฯลฯ )
  • เป็นกลุ่มทำงานร่วมกับ cscope
  • กลุ่มสามารถใช้เพื่อแก้ไขไฟล์โดยใช้โปรโตคอลเครือข่ายเช่น SSH และ HTTP
  • เป็นกลุ่มรวมถึงหลายระดับยกเลิก / ทำซ้ำ
  • Vim อนุญาตให้แบ่งหน้าจอเพื่อแก้ไขหลายไฟล์
  • Vim สามารถแก้ไขไฟล์ภายในไฟล์บีบอัดที่ถูกบีบอัด (gzip, zip, tar, ฯลฯ )
  • Vim รวม diff ในตัวเพื่อเปรียบเทียบไฟล์ (vimdiff)
  • Vim รวมถึงการสนับสนุนปลั๊กอินและการควบคุมไฟล์ config และ startup อย่างละเอียดยิ่งขึ้น
  • Vim สามารถเขียนสคริปต์ด้วย vimscript หรือด้วยภาษาสคริปต์ภายนอก (เช่น python, perl, shell)

มีความแตกต่างอีกมากมาย อ้างอิงแหล่งข้อมูลด้านล่างซึ่งเป็นสถานที่ที่ดีเพียงไม่กี่แห่งเพื่อเริ่มค้นหาข้อมูลเพิ่มเติม

ที่มา: Vim.Org , เป็นกลุ่มบน Wikpedia

หวังว่ามันจะช่วย! :)


65

"vi" เป็นตัวแก้ไขข้อความจาก Unix มันได้รับความนิยมและเข้ามาสู่ข้อมูลจำเพาะของ Unix (SUS) และ POSIX แต่ไม่สามารถใช้ได้อย่างอิสระจนถึงปี 2002

ดังนั้นบรรณาธิการที่ไม่เหมือนใครหลายคนก็ปรากฏตัวขึ้น เป็นกลุ่ม ("ปรับปรุงให้ดีขึ้นแล้ว") เป็นหนึ่งในบรรณาธิการเหล่านี้ เป็นชื่อที่แนะนำให้เพิ่มฟังก์ชันมากมายให้กับอินเตอร์เฟส vi ดั้งเดิม

ใน Ubuntu Vim เป็นตัวแก้ไขที่เหมือน vi เท่านั้นที่ติดตั้งตามค่าเริ่มต้นและviจะเริ่ม Vim ตามค่าเริ่มต้น

อื่น ๆ ที่นิยมบรรณาธิการ vi เหมือนที่มีอยู่ในอูบุนตูเป็นตัวอย่างและnvielvis


4
In Ubuntu Vim is the only vi-like editor installed by default- Xubuntu ที่นี่: vim: command not found. เท่านั้นviที่สามารถใช้ได้
Blauhirn

7
@Blauhirn เพื่อความเป็นธรรม Xubuntu ในทางเทคนิคไม่ใช่ Ubuntu
Captain Man

8
@Blauhirn และที่ทำงานvi vim.tiny
muru

2
+1 สำหรับการตอบคำถามเกี่ยวกับสาเหตุที่ vi เปิดเป็นกลุ่มแทน นั่นคือสิ่งที่ OP ถามจริง ๆ
MycrofD

3

แก้ไข vi เป็นโปรแกรมแก้ไขข้อความที่นิยมมากที่สุดใน Linux เราสามารถพูดได้ว่ามันมีหน้าจอขาวดำที่เรียบง่ายเช่นถ้าคุณพิมพ์คำสั่งใด ๆ ไม่มีการเน้นโค้ดที่ vim เป็นรุ่นปรับปรุงของ VI มันยังมีคุณสมบัติเหมือน vi แต่มันก็มีการเน้นโค้ด

ทั้งคู่มีโหมดพื้นฐาน 4 โหมดเหล่านี้:

  1. โหมดการเขียน
  2. โหมดคำสั่ง
  3. โหมดภาพ
  4. โหมดหลบหนี

3
ฉันแน่ใจแล้วว่า vi ดั้งเดิมไม่มีโหมดภาพของ Vim
muru

1

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

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

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

เป็นกลุ่ม (ในขณะที่ถูก IMproved ตามที่อ้าง) เป็นส่วนผสมป่องแปลกและไม่สอดคล้องกันของ vi แตกและแก้ไข modeless : P

ฉันยังคงรักมันอยู่ และคุณสามารถแก้ไขส่วนใหญ่ได้โดยปรับแต่งการตั้งค่าของคุณ;


11
ตอบ"แน่นอนว่าสะดวกในตอนแรกที่คุณสามารถ [... ] ย้ายไปพร้อมกับเคอร์เซอร์ในโหมดแทรก"นั่นเป็นจุดประสงค์โดยรวมของเคอร์เซอร์ปัจจุบันทุกวันนี้! เราไม่ได้อยู่ในยุค 80 อีกต่อไปแล้วการกดลูกศรลงควรเลื่อนเคอร์เซอร์ลงและไม่ใส่^Bตัวโฆษณาบางตัวลงบนหน้าจอและทำให้ส่งเสียงบี๊บ
PerlDuck

0

คำถามที่พบบ่อยเป็นกลุ่มมีรูปแบบรายการที่ดี: https://vimhelp.org/vim_faq.txt.html#faq-1.4

ข้อความที่ตัดตอนมาจากคำถามที่พบบ่อย:

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