vi Başvuru Klavuzu (Cheat Sheet)
Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYTkVPg2' (Errcode: 28 - No space left on device) in /usr/share/nginx/html/syslogs/wp-includes/class-wpdb.php on line 2349
Vi metin düzenleyicisi, muadillerine göre biraz farklı olmasından dolayı özellikle yeni başlayanlar için biraz karmaşık ve öğrenmesi zor bir editör olarak bilinir. Ancak vi'a biraz hakim olunmaya başlandığı zaman çoğu kullanıcı için vazgeçilmez text editörü haline gelir.Insertion (yazma) ve command (komut) denilen iki mod'a sahip olan vi”ın bir çok kısayol ve kombinasyonu bulunmaktadır. Yazının devamında özellikle temel vi kullanımı ile ilgili bu komutlara ait bir liste bulabilirsiniz.
İçerik İndexi
vi İle İlgili Temel Bilgiler
komut listesine geçemeden önce, konuyla ilgili temel bilgilere değinmek, vi ile henüz yeni tanışanlar için oldukça faydalı olacaktır.
Yazının başında da bahsettiğim gibi vi'ın temel olarak iki adet modu bulunuyor. Bu modlardan command mode (komut modu) yazı üzerindeki her türlü düzenleme ve değişiklik işleminin yapılabildiği moddur. Bu modda girilebilecek komutlar genelde bir ya da iki tuş kombinasyonundan oluşur. Insertion mode (yazım modu) ise, klavyeden girilen her şeyin dosyaya yazılmasını sağlamaktadır.
Vi ilk açıldığında command mode aktif olarak çalışır, yazım moduna geçmek için i (insert) ya da a (append) tuşu kullanılabilir. Yazım modundan çıkmak için ise ESC tuşu kullanılır.
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)
:x | 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. |
Bu yazılar da ilginizi çekebilir:
- vi – search and replace komutu
- iftop: Interface ve bağlantı bazlı bandwidth kullanımı
- Linux: Ethernet Bağlantı Hızının Tespit Edilmesi
Yorumlar
Trackbacks
Yorumda bulunun.
Kaydetmeden çıkma komutunda bir yazım yanlışı olmuş, :q! yerine :wq! yazılmış.
[Cevapla]
Evet, gözümden kaçmış; düzelttim şimdi. Katkıda bulunduğunuz için tesşekkür ederim.
[Cevapla]
bosluk karekteri icin komut varmı? misal tab. space ile tek tek değilde. ben python calisiyorum orda kullanacam vi editorunu. birde plugin lerini paylasabilirmisiniz? nasil kurulur ne ise yarar
[Cevapla]