Emacs ve Vim Karşılaştırması

Emacs ve gayret üzerinde en çok kullanılan iki metin editörüyüm EmacsgayretÖnizlemeyi yayınla 23 7.2a.13 (2008-07-04) Yazılmış C ve Emacs Lisp C ve Vim betiği platform Unix, Linux ve Microsoft Windows dahil çapraz platform Unix, Linux ve Microsoft Windows dahil çapraz platform Uygun İngilizce, Çince, Fransızca, İtalyanca, Lehçe, Rusça İngilizce, Çince, Fransızca, İtalyanca, Lehçe, Rusça tip Metin düzeltici Metin düzeltici Lisans GNU GPL Özgür yazılım, charityware, GPL uyumlu İnternet sitesi http://www.gnu.org/software/emacs/ http://www.vim.org/ Giriş (Wikipedia'dan) Emacs, genellikle genişletilebilirlikleriyle karakterize edilen zengin özellikli metin editörleri sınıfıdır. Emacs'ın 1000'den fazla düzenleme komutu vardır. Ayrıca, kullanıcının işi otomatikleştirmek için bu komutları makrolar halinde birleştirmesini sağlar. Vim ilk kez 1991 yılında Amiga bilgisayarı için Bram Moolenaar tarafından yayınlanan bir metin editörüdür. "Vim" adı, "Vi IMproved" in kısaltmasıdır, çünkü Vim, vi düzenleyicinin genişletilmiş bir sürümü olarak oluşturulmuştur. Tarafından dizayn edildi Richard Stallman Bram Moolenaar İlk sürüm 1976 1991 Kararlı sürüm 22.3 (2008-09-05) 7.2 (2008-08-09) Arabellek sekmeleri Hem komut satırı hem de grafik kullanıcı arayüzünde desteklenir Hem komut satırı hem de grafik kullanıcı arayüzünde desteklenir

İçindekiler: Emacs vs Vim

  • 1 Emacs ve Vim Kullanıcı Arayüzü
    • 1.1 Öğrenme Kolaylığı
    • 1.2 Verimlilik ve Düzenleme Hızı
  • 2 Emacs vs Vim RAM kullanımı
  • 3 Emacs'ın Vim'e Genişletilebilirliği ve Özelleştirilmesi
    • 3.1 Grafik Kullanıcı Arayüzü (GUI)
  • 4 Kaynakça

Emacs ve Vim Kullanıcı Arayüzü

Vim, düzenleme modlarını kullanır - çoğunlukla komut modu ve ekleme modu. Vim, kullanıcının basması gereken tuş vuruşlarının sayısını en aza indirmeyi amaçlamaktadır, çünkü Vim'in temel aldığı vi, yavaş terminaller üzerinde kullanılmak üzere tasarlanmıştır.

Emacs, genellikle tek bir işlev için aynı anda birden fazla tuşa basmayı içeren kısayolları etkinleştirmek için değiştirici tuşlar kullanır. Emacs'ın bu yönü sıklıkla eleştiriliyor.

Öğrenme Kolaylığı

Emacs daha kolay bir arayüze sahip olduğundan öğrenilmesi daha kolaydır (GUI tabanlı metin editörlerine aşina olan kullanıcılar için). Vim'in farklı düzenleme modları olduğundan, yeni başlayanlar öğrenmeyi biraz daha zor buluyor.

Verimlilik ve Düzenleme Hızı

Vim meraklıları, bir kullanıcı Vim'in düzenleme modlarına ve komutlarına aşina olduğunda, çok daha fazla üretkenlik ve verimlilik sağladığını iddia eder. Vim'in hıza dayalı arayüzü nedeniyle Vim'de dosya düzenleme genellikle Emacs'a göre daha hızlıdır. Örneğin, imleç hareketi 'H, J, K, ve L tuşları normal mod. Bu, kullanıcının ellerinin verimliliği arttıran "ana sıra" konumunu terk etmesine gerek olmadığı anlamına gelir, ancak hareket ve metin düzenleme arasında seçim yapmak için mod değiştirme gerektiğinden ek yükün fiyatına gelir. Emacs'ta (varsayılan yapılandırmayla), kullanıcı imleci Ctrl-B veya Ctrl-F kısayollarıyla hareket ettirir, bu da iki tuşa basılması gerektiğinden acemi kullanıcıyı yavaşlatabilir. Emacs'ta verimlilik ve verimlilik iyileştirmeleri, düzenleyicinin kendisi yerine düzenleme ortamının yapılandırmasına bağlıdır.

Emacs vs Vim'in RAM kullanımı

Vim, Emacs'tan daha hafiftir ve daha az bellek kullanır. Vim savunucuları, Emacs'in "Seksen Megabayt Ve Sürekli Takas" anlamına gelen yanaktaki dil önerisiyle Emacs'ın kaynak tüketimini eleştiriyor.

Bununla birlikte, gnuclient ile, birkaç istemciyi aynı anda destekleyebilen tek bir kalıcı Emacs işlemi çalıştırılabilir. Bu, başlatma süresini hızlandırır ve toplam bellek kullanımını azaltır, Emacs ve Vim arasındaki boşluğu kapatır.

Emacs'ın Vim'e Genişletilebilirliği ve Özelleştirilmesi

Hem Vim hem de Emacs işlevlerini geliştiren eklentileri desteklerken, Emacs editör ortamının çok daha fazla özelleştirilmesini destekler. Bu, emacs'ın tartışmasız en önemli özelliğidir ve emac'ların adanmışlarının çoğundan sorumludur..

Emac'lar elisp ile genişletilebilirken, Vim kendi dahili kodlama diline sahiptir ve eklenti geliştirme için diğer programlama dillerinin kullanımını destekler.

Emacs, yerleşik elisp işlevlerini yeniden tanımlayarak, yeni tanımı Emacs'a yazarak veya elisp dosyalarını yükleyerek anında genişletilebilir. İlgili değişiklik gruplarına "mod" denir ve belirli dosya türleri (arabellekler) için otomatik olarak kullanılmak üzere kolayca yapılandırılabilir. Bu nedenle, "lisp modu" veya "Ruby on Rails modu" veya "PHP modu" gibi farklı programlama dilleri veya çerçeveleri için modlar tanımlamak kolaydır. Bu modlar, Emacs'ın temel davranışlarını bile doğrudan değiştirebilir, metni otomatik olarak biçimlendirebilir veya renklendirebilir ve işlev bildirimleri ve kapanışları gibi standart şablon veya "ortak metin" metni ekleyebilir. Bu yüzden programcılar Emacs'ın Vim'den çok daha özel gereksinimleri için özelleştirilebilir olduğunu düşünüyorlar. Yine de, bazı programcılar eşit derecede özelleştirilebilir ve tamamen modsal çalışması nedeniyle Vim'in programlama ortamlarına daha uygun olduğunu görebilirler.

Vim komut modu kullanılarak anında genişletilebilir. Komut modu, yapılandırma seçeneklerinin ayarlanmasına, işlevlerin tanımlanmasına ve makroların oluşturulmasına izin verir. Aslında, Vim için yapılandırma dosyaları sadece komut modundan girilebilen komutlardır.

Grafik Kullanıcı Arayüzü (GUI)

Hem Vim hem de Emacs grafik kullanıcı arayüzlerine sahiptir. Her iki düzenleyici için grafik arayüzdeki hemen hemen tüm menü öğeleri bir kısayol komutunu veya hızlı yapılandırmayı işlemenin yollarından biridir. Editörlerin GUI'leri CLI'de (komut satırı arayüzü) mevcut olanların ötesinde neredeyse hiçbir ek işlev sağlamaz

Emacs, GUI için XDisplay veya gtk2 kullanır. Vim, gtk2'ye ek olarak gtk, gnome, gnome2, motif, athena ve neXtaw gibi diğer birçok GUI kütüphanesini kullanabilir..

Referanslar

  • wikipedia: Vi
  • wikipedia: Emacs
  • http://www.io.com/~dierdorf/emacsvi.html
  • http://thomer.com/vi/vi.html
  • Emacs, Lisp'in gücüne sahiptir, bu da onu çok esnek kılar
  • Yeni başlayanlar için emacs kılavuzu