Yazma işlemini tamamlayıp yazım modundan çıktıktan sonra (komut modundayken) değişiklikleri kaydetmek için :w [iki nokta üst üste + w (write)], dosyayı kaydetmek ve vi’dan çıkmak için ise :wq [iki nokta üst üste w (write)+ q (quit)], değişiklikleri kaydetmeden dosyadan çıkmak için ise sadece q (quit) tuşundan yararlanılabilir. Ancak kaydetmeden çıkma sırasında, dosya üzerinde bir değişiklik varsa vi bu yönde bir uyarı vererek dosyadan çıkmanıza izin vermez. Bu durumda, komutun sonuna bir ! [ünlem] işareti koyabilir :q! diyerek değişiklikeri kaydetmeden çıkmak üzere force edebilirsiniz.
Ayrıca, yukarıda verilen temel komutların birden fazla alternatifi de bulunmaktadır. Örnek olarak kaydedip dosyadan çıkmak için :wq komutu kullanılabileceği gibi ZZ şeklinde iki kez (büyük) Z tuşuna basmak da aynı işlevi görür.
Vi’ın kullanışlı yanlarından birisi de komut yapısıdır. Örnek olarak x harfi imlecin bulunduğu yerdeki bir karakteri (harf/sayı vs.) silmek için kullanılır ve bu komutun başına bir rakam eklerseniz, silme işlemi girdiğiniz rakam kadar tekralanır. Örnek olarak 3x komutunu verirseniz, imlecin bulunduğu yerden itibaren 3 karakter silinecektir.
Sık ihtiyaç duyulan vi komutlarına ait bilgiler ise aşağıdaki gibidir:
Sık Kullanılan vi Komutları
Yazma (Insert)
i |
Yazılanlar, imlecin o an bulunduğu yerden itibaren girilir. |
I |
Yazılanlar, imlecin bulunduğu satırın başına girilir. |
a |
Yazılanlar, imlecin o an bulunduğu yerden sonraya girilir |
A |
Yazılanlar, imlecin bulunduğı satırın sonuna girilir. |
o |
İmlecin bulunduğu satırdan sorasına yeni bir satır açılır ve yazma moduna geçilir. |
O |
İmlecin bulunduğu satırdan öncesine yeni bir satır açılır ve yazma moduna geçilir. |
r |
Bir karakter değiştir. |
R |
Birden fazla karakter değiştir. ESC tuşuna basana kadar replace durumunda kalınır. |
cw |
İmlecin bulunduğu yerden kelime sonuna kadar siler ve yazı moduna girer. (change word) |
C |
İmlecin bulunduğu yerden satır sonuna kadar siler ve yazı moduna girer. (change word) |
cc |
İmlecin bulunduğu satırı tümden siler ve yazı moduna girer. (change word) |
Silme (Deleting)
x |
İmlecin o an bulunduğu yerin sağındaki ilk karakteri siler. |
X |
İmlecin o an bulunduğu yerin solundaki ilk karakteri siler. |
3x |
İmlecin o an bulunduğu yerin sağındaki 3 karakteri siler. |
3X |
İmlecin o an bulunduğu yerin solundaki 3 karakteri siler. |
dw |
İmlecin bulunduğu yerden kelime sonuna kadar siler. (delete word) |
D |
İmlecin bulunduğu yerden satır sonuna kadar siler. |
dd |
İmlecin bulunduğu satırı siler. |
3dd |
İmlecin bulunduğu satır dahil aşağı doğru 3 satırı siler. |
:d |
İmlecin bulunduğu satırı siler. |
Dosyadan Çıkma (Quiting)
😡 |
Değişiklikleri kaydeder ve dosyadan çıkar. |
:q |
Değişiklikleri kaydetmeden dosyadan çıkar. |
wq |
Değişiklikleri kaydeder ve dosyadan çıkar. |
ZZ |
Değişiklikleri kaydeder ve dosyadan çıkar. |
:q! |
Değişiklikleri görmezden gelir (force) ve dosyadan çıkar. |
Hareket (Motion)
Normal olarak imleci yönlendirmek için ok tuşlarından yararlanılabilir. Dosya içerisinde süratli hareket için komutlar aşağıdaki şekildedir.
w |
Sonraki kelimenin başına gider. |
e |
Sonraki kelimenin sonuna gider. |
b |
Bir önceki kelimenin başına gider. |
0 |
Satırın başına gider. |
$ |
Satırın sonuna gider. |
1G |
Dosyanın ilk satırına gider. |
10G |
Dosyanın onuncu satırına gider. |
G |
Dosyanın en son satırına gider. |
Kopyala & Yapıştır
yy |
İmlecin bulunduğu satırı kopyalar. |
3yy |
İmlecin bulunduğı satır da dahil olmak üzere aşağı doğru 3 satırı kopyalar. |
p |
Hafızadaki veriyi imlecin bulunduğu satırın altına yapıştırır. |
P |
Hafızadaki veriyi imlecin bulunduğu satırın üstüne yapıştırır. |
Geri Alma (Undo)
u |
Son yapılan değişiklik geri alınır. |
U |
Satırda yapılan tüm değişiklikler geri alınır. |
Arama (Search)
/string |
String tüm dosya içinde aranır |
n |
Önceki aramayı aşağı doğru tekrar eder. (Find Next) |
N |
Önceki aramayı yukarıya doğru tekrar eder. (Find Previous) |
Bul & Değiştir (Search & Replace)
:%s/Ara/Degistir/flag |
Ara ve değiştir. (Flag bilgileri aşağıdaki gibidir.) |
g |
Flag – Bulunan herşeyi değiştir. |
c |
Flag – Degistirmeden önce onay al. |