Vi, linux üzerinde kullanılan bir metin editörüdür. Kendi içerisinde kısaltmaları, modları, kombinasyonları bulunur. Bu yapılar sayesinde komut ekranında yapılan işlemleri hızlandırır ve daha rahat bir çalışma ortamı sağlar. Ancak bu bahsettiğim rahat ortam vi’yi tam olarak kullanmaya başladığınızda oluşacaktır. Öğrenme süreci uzun, yıpratıcı ve dikenli olsa da sonunda elde edilecek bilgi için bence değer.

Vi üzerinde iki mod bulunmaktadır. İlki komut modu(command mode) olup metin üzerinde manipülasyon ve düzeltmeleri yaptığımız kısımdır. İkinci kısım ise girdi modu (insert mode) ise direkt olarak metin içerisine ekleme yapmamızı sağlamaktadır. Vi ile bir metin açtığınızda komut modunda açılacaktır. Girdi moduna geçmek için a veya i tuşları kullanılır. Eğer girdi modundan, komut moduna geçmek isteniyorsa tek yapılması gereken ESC yuşuna basmaktır.

Vi ile ilgili genel olarak bilinmesi gereken ve komutların listeleri aşağıdadır.

Çıkış Komutları

Komut Açıklama
:w Dosyayı kayıt eder
:q Dosyadan çıkış yapar ancak bir değişiklik yapılmışsa hata verir.
:q! Değişiklikleri dikkate almadan çıkış yapar.
:wq Dosyayı önce kayıt eder sonra çıkış yapar.
ZZ :wq ile aynı işleve sahiptir.
:x :wq ile aynı işleve sahiptir.

Girdi Komutları

Komut Açıklama
i İmlecin bulunduğu yerden itibaren girdi moduna geçer.
I İmlecin bulunduğu satır başına giderek girdi moduna geçer.
a İmleci bir karakter ileri alarak girdi moduna geçer.
A İmleci bulunduğu satırın sonuna götürerek girdi moduna geçer.
o Bulunduğu satırı bitirip seni bir satır başında girdi moduna geçer.
O Bulunduğu satırı bir satır aşağı kaldırıp o satır öncesinde girdi moduna girer.
r Bir karakter değiştirmek için kullanılır.
R Birden fazla karakter değiştirmek için kullanılır. ESC tuşuna basana kadar replace modundan çıkmaz.
cw İmlecin bulunduğu yerden kelime sonuna kadar siler ve girdi moduna geçer.
C İmlecin bulunduğu yerden satır sonuna kadar siler ve yazı moduna girer.
cc İmlecin bulunduğu tüm satırı siler ve girdi moduna geçer.
s Üzerinde bulunan karakteri silip girdi moduna geçer.

Silme Komutları

Komut Açıklama
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 karakterleri başındaki rakam(3) kadar siler.
3X İmlecin o an bulunduğu yerin solundaki karakterleri başındaki rakam(3) kadar siler.
dw İmlecin bulunduğu yerden kelime sonuna kadar siler.
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 başındaki rakam(3) kadar satır siler.
:d İmlecin bulunduğu satırı siler.

Kopyala&Yapıştır Komutları

Komut Açıklama
yy İmlecin bulunduğu satırı kopyalar.
X İmlecin bulunduğu satırdan itibaren baştaki rakam kadar(5) 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.

Hareket Komutları

Komut Açıklama
w Sonraki kelimenin başına gider.
e Sonraki kelimenin sonuna gider.
b Önceki kelimenin başına gider.
0 Satırın başına gider.
$ Satırın sonuna gider.
1G Dosyanın baştaki rakamdaki satırına(ilk satıra) gider.
G Dosyanın sonuna gider.

Geri Alma Komutları

Komut Açıklama
u Son yapılan değişikliği geri alır.
U Satırda yapılan tüm değişiklikleri geri alır.

Arama Komutları

Komut Açıklama
/kelime “kelime” kısmındaki girdi tüm metin içerisinde aranır.
n Aranan değerleri yukarıdan aşağıya doğru tekrar eder.
N Aranan değerleri aşağıdan yukarıya doğru tekrar eder.

Toplu İşlem Parametreleri

Komut Açıklama
:%s/A/D/flag Metin içerisindeki “A” değerini arar ve “D” değeri ile flag bilgisine göre değiştir.
g Bulunan tüm değerleri değiştirir (flag)
c Bulunan değerleri değiştirmeden önce kullanıcıya sorar. (flag)