Unix kelimeler,cümleler,metinler işleyen birçok duzenleyiciye sahiptir.Ancak bunların arasında hakkında kalın kalın kitaplar yazılmış , çoğu tecrübeli programcının kodlarını yazdığı, üniversitelerde öğrencilere kullanılması önerilen bir tane vardır ki sanırım ona efsane demek pek de yanlış bir tanım olmaz.Bahsettiğimiz düzenleyici efsane Vi editörüdür.

Aslına bakılırsa ilk kez Vi editörüyle karşılaşan bir kullanıcı için iş biraz can sıkıcı hal alabilir.Bu kullanıcının normal bir metin editörü ile yaptığı işlemleri vi yada klonları ile sadece klavyesinin tuşları ile hızlı bir şekilde yapabilmesi , Vi hakkında ki düşüncelerini sanırım değiştirecektir. Bizler için çok kıymetli bir kavram olan zamanı Vi’ın hızı sayesinde daha ekonomik kullanmak mümkündür.Örneğin, bir program yazıyorsunuz ve ardı sıra gelen 7 satırı silmek istiyorsunuz , vi bunu klavyenizin sadece 3 tuşuna basarak yapabilmenizi sağlamaktadır. Kullanımına alışıldığında hiç bir düzenleycinin Vi kadar yararlı ve kullanım hızına sahip olmadığı rahatlıkla görülebilir.Programcılar için çok faydalı özelliklere sahip olması açısından da göze çarpmaktadır.Bir defa kullanmaya başladıktan sonra başka bir editör ile çalışmak istemeyeceğiniz konusunda sizi şimdiden uyarabilirim.

Vi Klonları

gvim_1

Vi ingilizce “visual editor” kelimelerinin başharflerinin kısaltılmasıdır. Vi ‘ ın kaynak kodlarının açık olarak dağıtılmaması,fonksiyonelliğin az olması ve farklı platformda kullanılamaması gibi sebeplerden Vim,Nvi,Vile,Elvis gibi birçok Vi klonu yazılmıştır.Bu programlar Vi da olmayan kimi özellikleri ile kullanıcıların beğenisini toplamayı başarmışlardır.Bu programlardan Vim(Vi Improved-Geliştirilmiş Vi) göze çarpan özellikleri ve en başarılı Vi klonlarından biri olması nedeni ile adından bahsedilmeye değer bir düzenleyicidir.Vi ‘ da kullanılan birkaç komutu barındırmaması dışında birçok artı özelliğe sahiptir.Tim Thompson ve Tony Anders tarafından yazılan Stevie’yi temel alan Vim’in büyük kısmı Bram Moolenear tarafından yazılmıştır.Vim Vi’da olmayan kendisine eklenmiş bir çok gelişmiş özelliğe sahiptir bunlar;çoklu geri alma işlemi,çoklu pencereler ve bellek,söz dizimi renklendirme,komut satırı düzenleme,dosya adi tamamlama, on-line yardım,görsel seçim v.b.Aslında vim editörünün altında güçlü ex editörü vardır , vim sadece görsel modu ifade etmektedir diyebiliriz.

Belgenin ilk versiyonu için  : Bir takım karışıklıklara neden olmamak için bu belgenin hazırlandığı dağıtımın Slackware 10.1 , Vim editörünün versiyon numarasının 6.3.7 olduğunu belirtmekte fayda var.

Belgenin bu versiyonunda : Ubuntu 11.04 ve Vim 7.3 kullanılmıştır, belgeyi yaklaşık 8 sene evvel hazırlamıştım, biraz revizyonlar yaparak sunmak istedim.

Vim ayrıca kullanıcı arabirimi gibi birçok farklı moda da sahiptir.Örneğin

vim -g

yada

gvim

yazarsanız editörünüzün grafiksel kullanıcı arabirimine ulaşırsınız.

Diğer modlar ise;

vim

Normal vim modu

ex

Ex modunda başlar :vi yazarak normal moda geçebilirsiniz.

view

Dosyaları sadece okunabilir şekilde açar.Üzerlerine yazmanızı engeller.

gvim

gview

Grafik arabirimine sahip mod.Editörü yeni bir pencerede başlatır.vim komutundan sonra argüman olarak -g yi kullanarak da aynı işlemi gerçekleştirebilirsiniz.

evim

eview

Editör grafik arabirimine sahip kolay modda başlar. vim komutundan sonra argüman olarak -y yi kullanarak da aynı işlemi gerçekleştirebilirsiniz

rvim

rview

egvim

rgview

Editörü bir takım kısıtlamalarla açmanızı sağlar.

şeklindedir.

 Burada kullanacağımız Vi klonu Vim editörü olacak ve komut satırında normal modda çalışacağız..Komut satırında

ttt@onurguzel:$ vim dosya_adi.txt

yazalım ve uygulamamızı çalıştıralım,dosya_adi.txt adlı bir dosya acildi ancak biz editörümüze kaydet diyene kadar bu dosya sadece bellekte tutulacak ve diskimize yazılmayacak.Dosyamız ve editörümüz bir kenarda beklesin bizde bu sırada Vim ile kullanacağımız bir takım komutları öğrenelim.

Vim komutu ile birlikte kullanacağınız argümanlar ve seçenekler çoğu zaman kendinize fazladan bir kahve molası kazandıracak kadar faydalı olabilir.Abarttığımı düşünmüş olanlar vardır mutlaka ancak Vim editörüne geçişinizden sonra kahve molalarınızın artması kaçınılmaz olacaktır:)Özellikle programcıların hata ayıklama konusunda çok işine yarayacak bir çok argüman bulunmaktadır.Bunlardan bazıları;

Genel

Örnek

vim +satir_numarasi dosya_adi

vi +3335 aerodeger.c-Dosyayı 3335. satırdan açar.Derleyicinizin verdiği hata 3335 . satırda ise kullanımı gerçekten faydalı olacaktır.

vim +/aranacak_kelime dosya_adi

vi +/floet aerodeger.c – Dosyayı içerisinde geçen ilk “floet” kelimesinden açar – Derleyiciniz float yerine floet yazdığınızı söylüyor ise işinize yarayacaktır.

vim -r

Sadece okuma modunda açar.

Vim ile yeni bir doya açmak için , vim komutundan sonra dosya adını yazarız.

vim yeni_dosya_adi yazarız.Var olan dosyayı açmak içinse vim var_olan_dosya

yazarız.Editörde işlemlerimizi gerçekleştirdikten sonra işlemlerimizi kaydetmek yada çıkmak için ise editörü kullanırken ex komutlarını kullanırız bu komutlardan sonra çalışmaları için mutlaka <ENTER> tuşuna basmanız gerekmektedir.

:

ex komutlarını kullanmamızı sağlar.

:w

Yaz , kaydet

:q

Çık

:wq

Kaydet ve çık

:wq! , :w!

Yazmaya zorla,var olan bir dosya ismi ile dosyanızı kaydetmek istediğinzde komutunuz sonuna koyacağınız “!” işareti uygulamayı yazmaya zorlayacaktır.Farklı kaydet işlemi.

Vi ve klonlarında iki farklı mod vardır ;Giriş modu (i “INSERT” ), Komut Modu.Adından anlaşılacağı gibi giriş modu üzerinde çalıştığımızı dosyaya giriş yapmamızı sağlar.Komut modu ise editöre ait komutları çalıştırmamızı sağlar.Vim normal olarak komut modunda başlar,komut modundan giriş moduna geçmek için klavyemizin

i

tuşuna basarız.Giriş moduna geçmek için bir kaç farklı yol daha olduğunu belirtmekte de fayda var,örneğin “a”(append) tuşuna basarak da bu modda çalışabilirsiniz. Giriş modundan komut moduna geçmek için ise “ESC(escape tuşu)” basılır.

 Az önce açtığımız dosyamıza geri dönelim , ve burada giriş(INSERT) moduna geçmek için vim i çalıştırdığımız konsolda “i” tuşuna basalaım , eğer giriş moduna geçti iseniz editörün en alt satırında –INSERT– ifadesi çıkacaktır.Daha sonra

Vim bir vi klonudur
Gvim vim'in grafik arabirimidir

 cümlelerini alt alta yazalım.(Not:Halen dosyamız kaydedilmedi sadece bellekte saklanmakta.)

Şimdi de giriş modundan çıkmak için “ESC” tuşuna basalım ve komut moduna geçelim , komut modunda kullanacağımız faydalı komutlara bir sonraki yazımızda göz atalım.