Vim ve VI arasındaki en büyük farklar


25

Bugün, Vim yerine Vi'yi denemeye karar verdim, ne kadar farklı olduğunu görmek istedim. Hiç bir fark görmedim, fark ettiğim en büyük şey Vi'nin -- INSERT --yerleştirme moduna girdiğimde nasıl söylemediği ve bazı küçük arayüz farkları olduğuydu.

Bu beni meraklandırdı, Vi ve Vim arasındaki en büyük farklar neler?


1
Açıkçası vim'in pek çok gelişmiş özelliğini kullanmıyorsunuz. blok seçimi, imlecin altındaki kelimeyi arama, imlecin altındaki artma sayısı, sözdizimi vurgulama vb.
Jim

Yanıtlar:


25

Aslında vim'de size farklılıkları anlatan bir yardım komutu var: :help vi_diff

Vim'in sitesinden en büyüğü:

sınırsız geri al

Xxxx yapabilir ve dört silme işleminden her birini geri alabilirsiniz. En son ne zaman "jjjj" yazdınız ve ardından caps lock tuşunun açık olduğunu öğrendiniz. Yanlışlıkla birlikte beş çizgiye katıldınız ve Vi yalnızca son emri geri alabilir. Vim'de dört "J" komutunun tümünü geri alabilir ve orijinal metninizi geri alabilirsiniz.

taşınabilirlik

Vi sadece Unix'te mevcuttur. Vim, MS-Windows, Macintosh, Amiga, OS / 2, VMS, QNX ve diğer sistemlerde çalışır. Ve ayrıca her Unix sisteminde.

sözdizimi vurgulama

Vim, düzenlenmekte olan dosyanın türüne bağlı olarak arabellek bölümlerini farklı renklerde veya stillerde vurgulamak üzere programlanabilir. Vim ile birlikte gelen yüzlerce sözdizimi vurgulama kuralı var.

GUI

Vim bir konsolda iyi çalışıyor, ancak X Windows, Mac OS ve Microsoft Windows gibi birçok GUI'de yerel olarak çalışabiliyor. Kaydırma, arabellek bölme ve menü oluşturma için yerel GUI widget'larını kullanır. Ayrıca pano ile konuşabilir.


4
Biraz daha farklılıklar belirtilen sss
Christian Brabandt

Benioku göre , bu işletim sistemlerinin bazıları artık desteklenmiyor.
Rolf

7

Vim Vi'nin sahip olmadığı birçok özelliğe, hatta açıkça "gelişmiş" özelliklere sahip değil.

Uygulamada bunun anlamı, Vi'ye alışkınsanız, Vim (veya başka bir Vi klonu) kullanmaya başlarsanız, ancak Vim'e alışkınsanız ve "refleksleriniz" gibi özellikler içeriyorsa, çok az farkla karşılaşırsınız demektir. görsel mod vurgulama, "g" veya "z" ile başlayan herhangi bir tuş eylemi, imlecin altındaki bir kelimeyi silmek için "i" veya "a" [örneğin "daw" içeren herhangi bir metin eylemi], ekleme modunda ok tuşlarıyla gezinme vb. Bunların Vi'de çalışmadığını göreceksiniz.

Ayrıca "Vi'yi denediğini" söylediğinde tam olarak ne kullandığına dair bir soru var. Birçok sistemde, "vi" aslında Vim'i çalıştırır, bu farklılıkların bazılarının uygulandığı bir modda (gözlemlediğiniz varsayılan showmode, ok tuşları ekleme modunda çalışmaz) ve diğerleri çalışmaz (görsel mod ve g / z tuşları çalışır) ) ve bazı özellikler, bunun için kullanılan "minik Vim" de bazen devre dışı bırakılmış bir derleme zamanı seçeneğine bağlıdır (bir kelime "aw" gibi metin nesneleri bunlardan biridir). Gerçek Vi'yi çalıştırırsanız veya "vi", nvi veya VILE gibi Vim'den daha az veya farklı özelliklere sahip başka bir klonsa, bunları alamazsınız.

Ve belirsiz tarafta, "Vi modunda minik Vim" açık bir şekilde, tam bir Vim'in sahip olmadığı hiçbir özelliğe sahip değilken, orijinal orijinal Vi'nin vim'in sahip olmadığı birkaç özelliği var. Bunlar belgelenmiştir :help vi-differences.


2
Bahse girerim ki OP gerçekten "küçük bir vim" vi'ye sahiptir.
Kevin

2

Karşılaştırmaların çoğu vim için vi'den daha fazla işlevsellik sağlar, ancak bunun bir istisnası vardır. Vi'de "açık" mod vardı ve vim'de bu moda gerçekten sahip değil.

Açık mod, elektronik göstergelere sahip olmayan terminallerle, yani teletypes, letterprinters ve benzerleri olmayan ve ayrıca imlecin yalnızca altta kaldığı ekranlarla birlikte kullanılan tek satırlı bir moddur.

Orada vim'in açık modu simüle ettiğini söyleyen bir dokümantasyon olduğunu biliyorum, ama benim deneyimim öyle değil, çünkü onu vi ile kullandım, kendi gözlerimle gördüm ve bunu hiç görmedim. Görünüşe göre vim sadece opendosyayı görsel modda açmak ve düzenlemek için komutu kullanıyor . Vim'in resmi belgelerinin açık modu desteklemediğini söylediğine inanıyorum.


Ben var ex-vi.sourceforge.net orijinal Vi bir liman olan yüklü. Bu açık moda nasıl başlarım? Manpage hakkında konuşurken bahseder ^R, ancak başka hiçbir yardımda bulunmaz . :open some/filedöner open: No such command from open/visual.
muru,

muru Qeski moduna girmek için open. zAçık moddayken geçerli satırın içeriğini göstermek için. Geri çekilmek için Qo zaman vi.
Antony

0

Bence zaman içinde meydana gelen vi değişimlerinden dolayı karşılaştırma yapmanın çok zor olduğunu düşünüyorum.

Üniversitedeyken, sade bir terminalde sade vanilya vi kullandım. Sistemin V kullanarak ana bilgisayarlara bağlanan aptal bir terminalde (ve aynı zamanda Mac'teki bir terminal emülatöründe) daha fazla bulamıyordunuz.

Ama bunun doğru olduğundan bile emin değilim vi. O zamanlar klonlar ve limanlar yapıldı, çünkü vi o sırada açık kaynak değildi. Ve satıcılar klon yaptıklarında, vi'de olmayan özellikler eklediler. Tarih bir tür kıvrımlıdır. Vikipedi ve başka yerlerde okuyabilirsiniz.

Yani, belirli satıcıları / donanımları kullanmıyorsanız, vi'yi kullanmıyordunuz, ama vi gibi bir şey .

Ancak vi (ya da kullandığım klonun) arayüzünde çok minimalist olduğunu (renk yok, INSERT etiketi yok, tek parça geri almıyor, vb.) Ve gerçekte başarabileceklerini güçlü buluyorum. Çok pratik.


0

Vim SSS’nin iyi biçimlendirilmiş bir listesi var: https://vimhelp.org/vim_faq.txt.html#faq-1.4

SSS bölümünden alıntı:

  • Çok düzeyli geri alma
  • Sekmeler, Çoklu pencereler ve tamponlar
  • Esnek ekleme modu (Ekleme Modunda ok tuşlarını kullanabilir)
  • Makrolar
  • Görsel mod (görsel olarak metin bölümlerini seçin)
  • Operatörleri engelle
  • Çevrimiçi yardım sistemi
  • Komut satırı düzenleme ve tarihçesi
  • Komut satırı tamamlama (sekme tamamlama)
  • Yatay kaydırma (uzun çizgiler)
  • Unicode ve uluslararasılaşma iyileştirmeleri.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.