Bu yılın ilk blog yazısını Vi ile yazmak istedim. Vi gerçekten, sanıldığı kadar zor mu? Bu yazıda, bu metin editörü hakkındaki önyargıları kırabileceğimizi umuyorum. Linux’a yeni başlayanlar için Vi ya da Vim sanırım bir çıkmaz sokak. Öyle ki Stack Overflow’da “Vim’den nasıl çıkılır?” sorusu 2 milyondan fazla görüntülenmiş.
Vi’yi araba öğrenmek gibi düşünebiliriz. Öğrenmek için bir kaynak şart ve bir süre kullanıp pratik yapmanız gerekiyor. Vi ve Vim birbirine benzeyen temel komutları aynı, iki ayrı yazılımdır. Ancak Vim diğerine göre daha gelişmiş özelliklere sahiptir. Bu özellikleri bu yazıda konuşmayacağız. Size Vi’nin aslında ne kadar kolay olduğunu anlatmak istiyorum. Tüm anlattıklarım Vim için de geçerlidir.
Modlar
Vi’de iki ayrı mod bulunur. Birincisi komut modu, ikincisi ise insert modu. Varsayılan mod komut modudur. Bu modda aşağıda da belirttiğim Vi komutlarını kullanabilirsiniz. Insert modu ise metin düzenleme modudur. Insert moduna komut modundayken “i” tuşuyla geçiş yapabilirsiniz. Insert modunda yön tuşlarını kullanarak imleci hareket ettirebilir, diğer tuşları kullanarak da metin girişi, silme ve değiştirme işlemlerini yapabilirsiniz. Insert modundaki işiniz bitince <esc> tuşuna basıp tekrar komut moduna dönebilirsiniz.
Komutlar
Metin girme ve silme
i
Insert moduna girişx
Karakteri sildd
Mevcut satırı silr
Karakterin üzerine yazmaR
Tüm metnin üzerine yazma
Metin arama ve değiştirme
/foo
Aranacak ifadeden önce slash girilir:s/foo/bar
Mevcut satırda aranan ilk ifadeyi bul ve değiştir:s/foo/bar/g
Mevcut satırda aranan tüm ifadeyi bul ve değiştir:%s/foo/bar/g
Dosyada aranan tüm ifadeyi bul ve değiştir
Not: Arama sırasında n
ile sonraki ifadeye, N
ile önceki ifadeye gidebilirsiniz.
Kaydetme ve çıkış
:w
Değişiklikleri kaydet:q
Vi’den çık (değişiklik yoksa):q!
Vi’den çıkmaya zorla (değişiklik varsa da kaydetmez):wq
Değişiklikleri kaydet ve Vi’den çık:w foo.txt
Değişiklikleri farklı bir dosyaya kaydet
İmleç hareketleri
h
Bir karakter solaj
Bir satır aşağıyak
Bir satır yukarıyal
Bir karakter sağaB
Bir kelime solaW
Bir kelime sağa0
Satır başına$
Satır sonuna1G
Dosyanın ilk satırınaG
Dosyanın son satırına:n
Dosyanın n satırına (:10 satır 10’a gider)
Görünüm seçenekleri
:set nu
Satır numaralarını göster:set nonu
Satır numaralarını gizle
Diğer işlemler
u
Önceki işlemi geri al:r foo.txt
İsmi yazılan dosya içeriğini mevcut satıra yaz
Vi’deki temel örnekler bunlar. Başlamak için kaynak alınabilecek bir makale hazırladım. Kullanım amacına göre Vi’deki diğer komutlara, aşağıya bıraktığım kaynak linklerden göz atabilirsiniz: