giriiş
Vim bir metin editörü ve Vi editörünün geliştirilmiş versiyonudur. CLI (Komut Satırı Arayüzü) ve GUI (Grafik Kullanıcı Arayüzü) uygulaması olarak kullanılmak üzere tasarlanmıştır.
Bram Moolenaar tarafından tasarlanıp geliştirildi ve ilk olarak Kasım 1991'de piyasaya sürüldü. VIM, açık kaynaklı, ücretsiz, ekran tabanlı bir metin editörüdür. Platformlar arası genişleme, Amiga için yayınlanmasından bu yana diğer birçok sistemde de sunulmasını sağladı. 2018 yılında Linux Journal okuyucuları tarafından en ünlü editör seçildi; geliştirici anketi, yani Stack Overflow, bunun 2015'te 3. en ünlü metin editörü ve 2019'da 5. en ünlü geliştirme ortamı olduğunu buldu.
Bu dersimizde Ubuntu işletim sistemine VIM editörünü kuracağız. Yüklemek için Ubuntu sürümünün ve çalışan terminalin güncellendiğinden emin olun.
Önkoşullar
- ubuntu
- terminal
VIM'in Kısa Tarihi
VIM'in öncüsü Stevie, 1987 yılında Tim Thompson tarafından Atari ST için yapıldı ve G.R. Walter ve Tony Andrews. Bram Moolenaar, uygulamasını 1988 yılında Amiga sistemi için Stevie'ye dayandırarak ve 1991'deki ilk halka açık sürümle birlikte VIM üzerinde çalışmaya başladı.
Başlık 'NEDEN' kısaydı 'Vi Taklit' ilk sürümü sırasında, ancak şu şekilde değiştirildi: 'Geliştik' 1993 yılında.
VIM Lisansı
VIM, Vim lisansı ile yayınlanır. Uygulamayı beğenen kullanıcılara çocuklara katkıda bulunmayı düşünmeleri için ilham veren birkaç hayır maddesi içerir. Vim lisansı, değiştirilen kopyaların GNU GPL 2.0 veya daha sonraki sürümlerde dağıtımına izin veren benzersiz bir maddeyle GNU Genel Kamu Lisansı ile uyumludur.
VIM Arayüzü
VIM'in arayüzü simgelere veya menülere değil, VI gibi metin kullanıcı arayüzünde sağlanan komutlara dayanmaktadır; GUI modu olan gVim, genel olarak kullanılan komutlar için araç çubukları ve menüler içerir; ancak tüm işlevsellik hâlâ komut satırı moduyla temsil edilmektedir. Vi, daktilonun parmaklarını ana satıra yerleştirmesine izin verme eğilimindedir; bu, dokunmatik daktilo için bir avantaj olabilir.
VIM düzenleyicisi, yeni başlayanlar için vimtutor olarak bilinen ve temel olarak Vim ile birlikte yüklenen yerleşik bir eğitim içerir. Ancak bu farklı bir yürütülebilir dosyadır ve bir kabuk komutu kullanılarak yürütülebilir. Vim Kullanıcı Kılavuzu, Vim'in özelliklerinin ayrıntılarını verir ve çevrimiçi olarak bulunabilir veya Vim'in içinden çalıştırılabilir.
java'da null olup olmadığını kontrol edin
Ayrıca Vim, kullanıcıların özellikler ve komutlar sormasına ve bunlar arasında gezinmesine olanak tanıyan yerleşik bir yardım özelliği içerir.
Kayıtlar
Vim, kayıtlar olarak bilinen birkaç benzersiz bellek girişi sağlar (bunları işlemci veya donanım kayıtlarıyla karıştırmayın). Kullanıcı, metni kopyalarken, yapıştırırken, silerken veya keserken, değiştirilen metni bir kayıt defterine kaydetmeyi seçebilir. Sayılar ve harflerle ilgili ve benzersiz değerler (son komut, geçerli dosya adı vb.) içeren veya benzersiz bir amaca hizmet eden çeşitli benzersiz kayıtlarla ilgili otuz altı genel amaçlı kayıt mevcuttur.
Modlar
Vim, vi gibi iki veya daha fazla düzenleme modunu destekler. Tip karakterleri, moda bağlı olarak komut dizileri olarak belirtilir veya metin olarak girilir. Vim'de 12 düzenleme modu, altı değişken ve altı ortak mod mevcuttur:
VIM'in özelleştirilmesi
Vim'in son derece genişletilebilir ve özelleştirilebilir olması, onu metin düzenleme platformu üzerinde daha fazla esneklik ve kontrol isteyen müşteriler için ilgi çekici bir araç haline getiriyor. Metin girişi, klavye verimliliğini artırmak için geliştirilen bir dizi özellik tarafından sağlanır. Müşteriler zor komutları kullanarak çalıştırabilirler. 'anahtar eşleme' genişletilebilir ve özelleştirilebilir. 'kayıt' yönü, tuş vuruşu dizilerini etkinleştirmek ve kullanıcı tanımlı veya dahili eşlemeleri ve işlevleri çağırmak için makroların oluşturulmasına izin verir.
Anahtar eşlemeler veya makrolarla aynı olan kısaltmalar, kısa metin dizelerinin daha uzun metin dizelerine genişletilmesini sağlar ve aynı zamanda hataları düzeltmek için de kullanılabilir. Ayrıca Vim, metin düzenlemeye daha kolay bir çözüm arayan müşteriler için 'kolay' bir modu kolaylaştırır.
npm önbellek temizleme
Vim'de yeni işlevsellik geliştiren ve ekleyen çeşitli eklentiler mevcuttur. Genellikle bu eklentiler dahili kodlama dili olan Vim, vimscript (VimL olarak da bilinir) ile yazılır, ancak diğer dillerde de belirtilebilir.
Pek çok proje, karmaşık özelleştirmeleri ve komut dosyalarını bir araya topladı ve Vim'i belirli bir görev için bir kaynağa dönüştürmeye veya doğasına daha büyük bir tat katmaya odaklandı. Bazı örnekler, Unix benzeri sistem kullanıcıları için rahat bir taslak oluşturmayı kolaylaştıran VimOutliner ve Vim'in tıkla ve yaz editörü gibi davranmasını sağlayan Cream'dir.
Vim'in iyileştirmeleri ve özellikleri
Vim, vi ile bir uyumluluk modu içerir, ancak bu mod kullanılmadığında Vim, vi'ye göre çeşitli iyileştirmeler içerir. Ancak Vim, uyumluluk modunda POSIX'te ve Tek Unix Belirtimi'nde belirtildiği gibi vi ile tamamen uyumlu değildir. Vim'in geliştiricileri Vi'ye çok uygun olduğunu söyledi.
- Vim'in birkaç geliştirmesi, tamamlama işlevlerini, dosyayı birleştirme ve karşılaştırmayı (vimdiff olarak adlandırılır), geliştirilmiş düzenli ifadeleri, kapsamlı bir geliştirilmiş yardım sistemini, eklenti desteğini içeren komut dosyası dillerini, bir grafik kullanıcı arayüzünü (gvim olarak bilinir), fare etkileşimini (ve ve olmadan) içerir. GUI ile), sınırlı geliştirme ortamı benzeri yönler, katlama, yazım denetimi, arşivlenmiş ve sıkıştırılmış dosyaların tar, zip, bzip2 ve gzip dosyalarında ve HTTP, FTP ve SSH gibi ağ protokolleri üzerinden sekmeli ve bölünmüş formatlarda düzenlenmesi pencereler, oturum durumu koruması, Unicode ve çoklu dil desteği, imleç ve arama konumu geçmişleri, sözdizimi vurgulama, oturum geçişi komutu, görsel mod, dallanma ve düzenleme oturumlarında devam edebilen çok düzeyli yineleme/geri alma geçmişi.
- Vim, çalışırken kullanıcının değişikliklerini '.swp' uzantısını kullanarak bir takas dosyasında saklar.
- Bu dosya bir arızadan sonra geri yüklemek için kullanılabilir. Vim, herhangi bir dosyayı açıp mevcut dosyalarla değiştirmeye çalıştıklarında kullanıcıları uyaracak ve kullanıcı devam ederse Vim, '.swo' uzantısını kullanarak bir takas dosyası kullanacaktır.
- İşlevsellik devre dışı bırakılabilir.
Vim betiği
VimL veya Vimscript olarak da bilinir. Vim betiği, Vim'e entegre edilmiş bir betik dilidir. İlk Vim sürümleri, gerçek vi düzenleyicisinin eski tabanlı düzenleyici dili olan işlev tanımları ve kontrol akışı için komutlar ekledi. 7 sürümünden bu yana Vim betiği, sözlükler ve listeler dahil daha gelişmiş veri türlerini ve daha kolay bir nesne yönelimli programlama modunu destekler. Filter() ve map() dahil olmak üzere pek çok yerleşik işlev, ortak bir işlevsel programlama formuna izin verir ve Vim betiği, 8.0 sürümünden bu yana lambda içermektedir. Çoğunlukla, Vim betiği zorunlu programlama biçiminde belirtilir.
Vim makroları normal modlu bir komut dizisi içerebilir ancak daha zor görevler için eski işlevleri veya Vim komut dosyasında belirtilen komutları da isteyebilir. Vim işlevselliğinin çoğu uzantısı (eklentiler veya komut dosyaları olarak bilinir) Vim komut dosyasında belirtilir, ancak eklentiler Racket, Tcl, Ruby, Lua, Python veya Perl gibi diğer dilleri de kullanabilir. Bu eklentiler manuel olarak kurulabileceği gibi Vim-Plug, Pathogen veya Vundle gibi bir eklenti yöneticisi tarafından da kurulabilir.
Vim betiğinin dosyaları diğer kodlarla aynı şekilde düz metin olarak kaydedilir ve .vim genellikle dosya adının uzantısıdır. Bunun önemli bir istisnası Vim'in yapılandırma dosyasıdır, yani .vimrc.
Vim'in Kullanılabilirliği
Vi editörü orijinal olarak Unix işletim sistemlerinde mevcut olmasına rağmen Vim, Atari MiNT, AmigaOS, DOS, BeOS, Windows NT 3.1'den başlayan Windows, MorphOS, OS/390, OS/2, OpenVMS gibi çeşitli işletim sistemlerine gönderildi. RISC OS, QNX, BSD, Klasik Mac OS ve Linux. Vim ayrıca Apple macOS ile de taşınır. Vim'den bağımsız bağlantı noktaları iOS ve Android için mevcuttur.
Vim çatalı
Neovim, Vim'in sürdürülebilirliğini ve genişletilebilirliğini geliştirmeyi amaçlayan bir Vim çatalıdır. Bu çatalın, yerleşik Dil Sunucusu Protokolü desteği, eşzamansız G/Ç desteği ve luaJIT dil yorumlayıcısıyla Lua komut dosyası oluşturma desteği dahil olmak üzere çeşitli özellikleri mevcuttur. Açık kaynaklı bir yazılım projesidir ve kaynak kodu GitHub'da mevcuttur.
Çoklu iş parçacığını destekleyen Vim yamasının reddedilmesinin ardından Neovim projesi 2014'te başladı. Mart 2014'te en azından tek bir tam zamanlı geliştiriciyi destekleyerek iyi bir kaynak yaratma başarısı gösterdi. Birçok ön uç, Neovim'in yeteneklerini kullanan geliştirmeyi desteklemektedir.
Neovim, 2 Temmuz 2021'de Neovim'in 0.5 sürümüyle yerleşik Dil Sunucusu Protokolü desteğine ve birincil yapılandırma dosyasını VimL yerine Lua dilinde yazma yeteneği gibi tam Lua desteğine kavuştu.
VIM Kurulumu
VIM editörünü kurmak oldukça kolaydır, kurulumu için tek bir komut yeterlidir. VIM editörünü kurmak için aşağıdaki komut kullanılır.
$ sudo apt-get install vim
Tip 'VE' ve bas girmek , gerekli paketlerin ve uygulamanın kurulumuna başlayacaktır.
Bundan sonra vim'i terminalden veya uygulama yöneticisinden çalıştırabiliriz.
Aşağıda yaptığımız gibi VIM yazarak sistemde bulabiliriz.
Simgeye tıkladığınızda VIM editörü için bir terminal açılacaktır. Aşağıdaki gibi bir şeye benziyor.
birden fazla tablodan sql seç
VIM editörünü sistemimize başarıyla kurduk. Artık bunu herhangi bir programlama dilinde kodlamak için kullanabiliriz.