Metinde Bulup Değiştirme (Find&Replace) :
Metin içerisinde sözcükleri bir başka sözcük veya sözcüklerle değiştirmek istersek; bunun için şu komutu kullanıyoruz.
:s/eski/yeni
Bu komut ilk rastladığı eski'yi yeni ile değiştirir.
Bir satırdaki tüm eski kelimeleri yeni olarak değiştirmek istersek;
:s/eski/yeni/g
Aşağıdaki örneklerde bu komutun değişik alternatifleri yer almaktadır.
:1,100s/eski/yeni/g - Dosyanın 1. ve 100. satırları arasında rastlanan tüm eski'leri yeni olarak değiştirir.
:1,$s/eski/yeni/g - Dosyanın 1. ve sonuncu satırları arasında rastlanan tüm eski'ler yeni olarak değişir.
:%s/eski/yeni/g - Tüm dosyadaki eski'ler yeni olur.
:%s/ersin/esn/gc - Tüm dosyadaki ersin'ler esn olarak değiştirilir. Her bir değişiklik için kullanıcı onayı istenir. (c:confirmation)
:%s/Fortran/\U&/g - Dosyadaki tüm Fortran'lar FORTRAN ile değiştirilir.
:g/^$/d - Tüm boş satırları bulur ve siler. (^işareti satır başı, $ ise satır sonu anlamına gelir.)
:g/^ *$/d - İçinde boşluk karakteri de olan tüm boş satırları siler.
Satır Numaraları:
Vi editörü, normalde ekranda satır numaralarını göstermez. Satır numaralarını ekranda görebilmek için;
:set number
komutunu kullanırız.
Yeniden satır numarasını kaldırmak için
:set invnumber
komutunu kullanabiliriz.
Tuş Kısaltmaları :
Bir metin yazarken bazı kelime ya da kalıpları çok sık tekrar etmek gerekebilir. Örneğin, metinde pek çok yerde "Türk Hava Yolları" geçiyorsa;
:ab thy Türk Hava Yolları
komutu ile kısaltma (abbreviation) tanımı yapabiliriz. Artık klavyede her thy yazıp enter'a bastığımızda Türk Hava Yolları yazılacaktır. Bu kısaltmayı iptal etmek için ;
:unab thy
dememiz yeterlidir. Ayrıca vi'dan çıkınca da kısaltma ortadan kalkar.
Eğer vi komutları ile ilgili bir kısaltma tanımlamak istiyorsanız bunu map komutu ile yapmamız gerekir;
map ^Y dd
komutu ile Ctrl-Y tuşunun, bulunulan satırın silinmesini sadd komutu ile eş zamanlı olarak kullanılmasını sağlarız. Tanımlamaları iptal etmek için de:
unmap ^Y
komutunu vermemiz yeterlidir.
Eğer bu tip kısaltmaların kalıcı hale gelmesini istiyorsanız home dizinindeki .exrc dosyasına bu komutları eklemelisiniz.
Dosya İşlemleri :
Vi ile üzerinde çalıştığımız dosyalarla ilgili yapılacak işlemlerde aşağıdaki komutları kullanabilirsiniz:
ZZ - Dosyayı son hali ile kaydet ve vi'dan çık. (:wq ile eşdeğerdir.)
:q - Dosyada değişiklik yapılmayacak, vi’dan çık (quit)
:q! - Yapılan değişikliklerden vaz geçildi, dosyayı değiştirmeden vi’dan çık (quit)
:w - Dosyayı diske kaydet (vi’da kal) (write)
:wq - Dosyayı diske kaydet ve vi’dan çık (write - quit)
:x - vi’dan çık, değişmişse dosyayı diske kaydet (exit)
:wDosya2 - Üzerinde çalışılmakta olan dosyayı, dosya2 adıyla diske kaydet. (write)
:1,100wbolum1 - Üzerinde çalışılmakta olan dosyanın ilk 100 satırını bolum1 isimli bir dosyaya
kaydet.
:rdosya3 - dosya3 adlı dosyayı oku ve imlecin bulunduğu noktadan başlayarak ve araya ekle. (read)
Vi İçinden UNIX Komutu Verme :
Vi içinde çalışırken başka bir dosyanın adına, içeriğine bakmamız gerektiğinde veya vi içinden kimi UNIX komutlarını çalıştırmamız gerektiğinde bunu aşağıdaki örneklerde olduğu gibi yapıyoruz.
!ls
Burada dosyanın bulunduğu dizinde ls komutu çalışır.
!mail
mail komutu çalışır ve maillerinize gidersiniz.
:r !prog
prog adlı program çalışacak ve çıktısı vi ile çalışmakta olduğunuz dosyada, imlecin bulunduğu noktaya gelecektir.
21 Mart 2008 Cuma
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder