Ana Sayfa » *nix » vi Başvuru Klavuzu (Cheat Sheet)

vi Başvuru Klavuzu (Cheat Sheet)


BerbatKötüİdare EderGüzelHarika (Toplam 10 oy. 5 puan üzerinden ortalama 4,50 || Oy vererek siz de katkıda bulunabilirsiniz.)
Loading...

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MY5B0QG6' (Errcode: 28 - No space left on device) in /usr/share/nginx/html/syslogs/wp-includes/class-wpdb.php on line 2349

vi editor 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 () 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.

 

vi İle İlgili Temel Bilgiler


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 mode ( 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 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.
Visited 40.755 times, 3 visit(s) today
Kategoriler: *nix |

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


  1. Türker Sezer | (Eylül 9th, 2010 9:01 pm)

    Kaydetmeden çıkma komutunda bir yazım yanlışı olmuş, :q! yerine :wq! yazılmış.

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Evet, gözümden kaçmış; düzelttim şimdi. Katkıda bulunduğunuz için tesşekkür ederim.

    [Cevapla]

  2. devrim | (Mart 13th, 2014 11:00 am)

    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]

Trackbacks

Yorumda bulunun.