vi Editörü adından da anlaşıldığı gibi bir editördür. Genellikle hafif olmasından dolayı sistem yöneticileri tarafından kullanılır. (Hafiflikten kastımız sistem kaynaklarını son derece az kullanmasıdır.)

Kullanımı başta ilkel gibi gelse de zamanla kullanışlı olduğunu göreceksiniz. Bu makalemizde vi Editörü kullanımını ve sık kullanılan vi editörü komutlarını anlatacağız.

 

vi Editörü Giriş

 

vi editörünün kullanımına geçmeden önce editörü nasıl açarız, onu gösterelim. Linux terminal de komut satırına

 

linux vi editörü kullanimi 1

 

yazıp Enter’a bastığınızda karşınıza aşağıdaki gibi bir ekran gelecektir.

 

linux vi editörü kullanimi 2

 

:help diyerek help dosyasına eriştiğimde bende Ubuntu olduğundan  açılan ekranda vi editörünün tiny versiyonu karşıma çıktı. Help dosyasında  vim komutu ile asıl versiyonunu kurmamı önerdi.

Benim gibi Linux Ubuntu kurmuş olanlar, komut satırına geçip vim paketini kurmaları gerekiyor. Bunun için komut satırında

 

linux vi editörü kullanimi kurulumu

 

komutunu çalıştırıp, Enter’a basınız. Kurulum başlıyor. Sonrasında komut satırına

 

 

yazıp Enter’a basınız.  vi editörünün açılış ekranı gelecektir.

 

vi editoru acilis ekrani

 

Bu ekranda iken

 

vi editoru help dosyasi acma

 

komutunu yazıp Enter’a bastığınızda vi editörünün help dosyasına erişeceksiniz.

 

linux vi editörü help sayfasi

 

Help dosyasına baktığınızda sola gitmek için h tuşuna, sağa gitmek için l tuşuna, yukarı gitmek için k ve aşağı gitmek için j tuşlarına basılması gerektiğini söylüyor. Bu ekranda iken

 

 

komutunu uygulayarak help sayfasından çıkabilirsiniz. vi editörünü kullanırken genelde vi komutunun yanına bir dosya ismi girmek gerekiyor.

Biz boş bir dosya ile başlayalım.

vi editoru kullanimi yeni dosya acma

 

yazıp Enter a basınız. deneme.txt şeklinde içi boş bir dosya oluşturup açmış olduk.

 

vi Editörü Modları

 

vi editöründe 3 çeşit mod var:

  1. Command modu
  2. Yazma modu
  3. Satır modu

vi editörünü ilk çalıştırdığınız zaman komut moduna girersiniz. vi editörü, bu şekilde iken her tuşa ait bir komut çalıştırılabilecek durumdadır. Mesela j karakteri ile bir karakter aşağı, k karakteri ile bir karakter yukarı gider.

Komut modu ile dosya içine girdikten sonra, dosya içeriğinde herhangi bir değişiklik yapmak isterseniz i tuşuna basarak yazma moduna geçmelisiniz. Yazma modunda iken istediğiniz karakterleri metin içerisinde kullanabilirsiniz. Notepad de yazı yazar gibi.

 

linux vi editoru modlari yazi modu

 

Yazı modundan sonra tekrar komut moduna geçmek isterseniz, ESC tuşuna basmanız gerekir. Bir dosyanın içeriğini değiştirirken sürekli bu iki mod arasında geçiş yapacaksınız.

Bunların dışında dosya işlemleri ile alakalı bir durum olursa Satır moduna geçmeniz gerekir. Editörün en alt satırında vi editörüne ait mesajlar gözükür. Gerektiğinde satır modunda buraya komutları girersiniz.

 

linux vi editoru editor mesajlari

 

Satır moduna geçiş yapmak için klavyeden : (iki nokta üst üste) karakterini girmeniz gerekir. : karakterine basıldığında imleç ekranın en alt satırına konumlanır ve sizden bir komut girmenizi bekler. Komutu yazıp Enter a bastığınızda tekrar komut moduna dönmüş olursunuz.

 

linux vi editoru modlari satir modu

 

Dosya İşlemleri

 

vi editörünün kullanımı için

 

 

komutunu yazıp Enter’a basmak gerekiyor. Biz daha öncesinde deneme.txt adında bir dosya oluşturup içine bir şeyler yazmıştık.

 

 

komutu ile değişiklikleri kaydetmiştik. Şimdi

 

vi editoru ile dosya acma

 

deneme.txt de dosyasını açalım.

 

linux vi editoru modlari yazi modu

 

deneme.txt dosyasını ilk açtığımız anda vi editörü komut modundadır.

Yazı yazma moduna geçebilmek için yani text ifadede herhangi bir değişiklik yapabilmek için klavyeden “i” ya da “a” karakterlerinden birine basmak gerekir. Böylelikle vi editörünü yazma moduna almış oluruz. Ve metinde istediğimiz kadar değişiklik yapabiliriz.

Yapılacak değişiklikleri yaptıktan sonra ilk olarak ESC tuşu ile komut moduna geçip, klavyeden  “ZZkarakterlerine basarsanız, dosyayı kaydederek kapatıp terminal ekranına gelmiş olursunuz.

Dosya kaydetmenin bir diğer yolu da satır modunu kullanmanızdır.

Bunun için yazma modunda iken ESC tuşuna basarak komut moduna geçtikten sonra klavyeden  :w karakterlerini yazıp Enter’a basmalısınız. Ancak bu işlem dosyayı kapatmayacaktır. Dosyanında kapanmasını istiyorsanız :w yerine :wq yazmanız gerekmektedir.

 

vi editoru dosya kaydetme islemi

 

vi editöründen çıkmak için gereken komut ise :q komutu dur.

 

Yazma İşlemleri

 

vi editörü ile bir dosya açtığımızda komut modunda açıldığından bahsetmiştik. Sonrasında yazma moduna geçebilmek için “i” veya “a” harflerine basılması gerektiğini söylemiştik.

Peki “i” veya “a” harfleri arasında fark var mıdır?

Kullanıcı “i” tuşuna bastığında, yazılacak olan karakter imlecin bulunduğu yerden yazılmaya başlar. Ancak “a” tuşuna basarsanız sonrasında yazılacak olan yazı bir karakter sağdan başlayarak yazılmaya başlar.

“o” tuşuna basıldığında ise imlecin bulunduğu yerin olduğu satırda bir satır boşluk bırakarak alt satırın başından yazmaya başlar.

Eğer text halindeki dosyanın içeriği bir kaç sayfadan oluşuyorsa Ctrl+F tuş kombinasyonu ile bir sayfa ileriye gidilirken, Ctrl+B tuş kombinasyonu ile bir sayfa geriye gidilir.

vi editörü, her satırı kendi içinde numaralandırır. Belirli bir satıra gitmek için satırın numarasını kullanabilirsiniz. Mesela 7. satıra gitmek için

 

 

: karakteri ile beraber satır numarasını yazmanız yeterlidir. Sonrasında Enter‘a bastığınızda imlec o satırın başına gelecektir.

 

Silme ve Kopyalama İşlemleri

 

vi editörünü kullanırken, yazma modundaysanız Delete ya da Backspace ile silme işlemlerini yapabilirsiniz. Komut modunda iseniz silme işlemini yapabilmeniz için x tuşuna basmanız gerekecektir.

vi editöründe komut modunda “dd” tuşuna basarsanız, imlecin bulunduğu tüm satırı silecektir(kesme işlemi). Ve alttaki satır bir satır yukarı gelecektir.

dd tuşu” ve “x tuşu” ile silinen karakterler hafızaya alınır. İstenildiği zaman “p tuşu” na basılarak imlecin bulunduğu yere basılır. (yapıştırma işlemi)

dd tuşu” ile kestiğiniz satırı “P tuşu” na basarak imlecin bir üst satırına yapıştırabilirsiniz.

İmlecin bulunduğu yerden metin sonuna kadar olan tüm içeriği silmek istiyorsak, komut modunda iken “dG tuşlarına” basmanız yeterlidir.

İmlecin bulunduğu yerden satır sonuna kadar tüm içeriği silmek istiyorsak, komut modunda iken “d$ tuşlarına” basmanız yeterlidir.

Yaptığınız hataları geri almak için “u komutunu” kullanabilirsiniz. Satır moduna geçip :u yazıp Enter‘a basmanız yeterlidir. (Ctrl+Z gibi düşünebilirsiniz)

 

 

Bir satırı kopyalamak istediğimizde komut modunda iken o satırın olduğu yere imleci getirelim. Sonrasında klavyeden “yy tuşlarına” basarsanız kopyalama işlemini yapmış olursunuz. ( Y tuşu da tek başına kopyalama işlemi yapar.

Kopyalanılan içeriği “p tuşu” na basarak yapıştırabilirsiniz.

 

Komut Tekrarı İşlemleri

 

vi editörünü kullanırken bazen bir komutun birden fazla kullanılması gerekebilir.

Örneğin 10 satırı silmek için klavyeden 10 kere dd tuşuna basmak yerine 10dd yazmanız yeterlidir. Yada bir satırı yy tuşu ile kopyalayıp farklı bir yere 10 kere yapıştırdığımızı farzedelim. 1 kere yy tuşuna basarak kopyalama işlemi yaptıktan sonra komut modunda iken 10p ye basmanız yeterlidir.

Mesela yy komutu kullanarak imlecin altındaki 4 satırı kopyalamak istiyorsak, ESC ile komut moduna geçtikten sonra 4yy tuşlarına basınız. Sonrasında nereye yapıştırmak istiyorsanız oraya geldikten sonra “p tuşu“na basarak yapıştırınız.

Özetle hangi kodu kullanacaksanız kullanın Komut moduna geçtikten sonra

[RakamlaTekrarSayısı][KullanılacakKomut] yazmanız yeterlidir.

 

Arama İşlemleri

 

vi editöründe arama işlemleri satır modunda  / karakteri kullanılarak yapılır. Arama yapmak için Komut modundayken / tuşuna basalım. Bizi satır moduna alır ve arama yapmak istediğimiz kelimeyi girmemizi ister.

 

vi editoru kullanimi arama yapma

 

vi editöründe, / karakteri ve ? karakteri ile arama yapabilirsiniz. / Komutu ile arama yaptığınızda arama işlemi dosyanın sonuna doğru iken ? Komutu ile yaptığınız arama dosyanın başına doğru dur.

Aradığınız kelime metin içerisinde birden fazla geçiyorsa, sonuçlar arasında gezmek için klavyeden n tuşuna basınız.

Metin içerisindeki büyük harfleri aramak için satır modunda  /[A-Z] karakterlerini giriniz.

 

vi editoru kullanimi buyuk harf arama yapma

 

Şimdi de vi Editöründe Bul ve Değiştir özelliğini uygulayalım.

 

 

Biz text ifademizde yer alan “dene” ifadelerini “DENE” şeklinde değiştirmesini istedik.

 

vi editoru kullanimi bul degistir ozelligi

 

Eğer her bulduğu değeri bizden onay alarak değiştirmesini isteseydik, Satır modundayken  “ :%s/DENE/denemedir/c”  kodunu çalıştırıp Enter’a basmamız gerekirdi.

 

Dosyalardan Metin Alınması

 

Kendi metin dosyamızda, istediğimiz yere farklı bir dosyadan metin ekleyebiliriz.

Ekleyeceğimiz yer, komutu vermeden önce imlecin bulunduğu yerdir.

 

vi editoru farkli dosyadan metin kopyalama

 

komutunu kullandığımızda deneme2.txt‘nin içerisindeki metni deneme.txt dosyamıza kopyalamış olduk.

 

Shell Komutlarının Çalıştırılması

 

vi editörü içerisindeyken sanki terminaldeymiş gibi terminalde kullandığımız shell komutlarını çalıştırabiliriz.

Linux Shell komutlarını merak edenler, Temel Linux Komutları makalemize bakabilirler.

Shell komutlarını çalıştırmak için satır modunda iken ” :! ” ile başlamanız gerekmektedir. Mesela ls komutunu çalıştırıp uygulamasını görelim.

 

vi editoru kullanimi kabuk shell komutlari calistirma

 

komutunu yazıp Enter’a bastığımızda sonucu ekrana verecektir.

 

vi editoru shell komutu calistirilmasi ls komutu

 

Çıktıyı deneme.txt dosyamıza yazdırmak istiyorsak, “ :r! lskomutu

 

vi editoru kullanimi metin icine yazdirma

 

komutunu uyguladığımızda  shell’den gelen verilerin deneme.txt dosyamızın içine yazıldığını görüyoruz.

 

vi editoru shell komutu calistirilmasi ls komutu 2

 

Sık Kullanılan vi Editörü Komutları

 

Sık kullanılan vi editörü komutlarını; Dosyadan Çıkma (Quitting), Yazma (Insert), Silme (Deleting), Hareket (Motion) , Kopyala Yapıştır (Copy, Paste), Geri Alma (Undo), Arama (search) ve Bul, Değiştir (Find, Replace) başlıklarıyla ele alacağız.

Dosyadan Çıkma (Quitting)

1. :w Değişiklikleri kaydeder ancak dosya açık kalır.
2. :q Değişiklikleri kaydetmeden dosyadan çıkar.
3. :wq Değişiklikleri kaydedip, dosyadan çıkar.
4. ZZ Değişiklikleri kaydeder ve dosyadan çıkar. (Komut modu)
5. :q! Değişiklikleri görmezden gelir ve dosyadan çıkar.
 

Yazma İşlemleri (Inserting)

1. i Komut modunda iken Yazma moduna alır, yazılanlar imlecin bulunduğu yerden itibaren yazılır.
2. a Komut modunda iken Yazma moduna alır, yazılanlar imlecin bulunduğu yerin sonrasından yazılır.
3. o Komut modunda iken İmlecin bulunduğu yerin hemen altına boş bir satır açar ve yazma moduna geçilir.
4. r Komut modunda iken bir karakter değiştirir.
5. cw Komut modunda imlecin üzerinde bulunduğu kelimeyi siler ve yazı moduna geçer.
6. C Komut modunda İmlecin bulunduğu satırı komple siler ve yazı moduna geçer. ( cc de aynı işleve sahiptir)

ESC  :   Yazma modundan çıkar.

 

Silme İşlemleri  (Deleting)

1. x  Komut modunda iken imlecin üzerinde bulunduğu karakteri siler.
2. 3x  Komut modunda iken imlecin üzerinde bulunduğu da dahil sağdan 3 karakteri siler.
3. dw  Komut modunda iken imlecin üzerinde bulunduğu kelimeyi boşluğu ile birlikte siler. (Delete Word)
4. D  Komut modunda iken imlecin bulunduğu satırı komple siler ve boş bir satır bırakır.
5. dd  Komut modunda iken imlecin bulunduğu satırı komple siler ve alttaki satırı yukarı çeker. 3dd, 3 satır siler.
6. :d  Satır modunda iken imlecin bulunduğu satırı komple siler ve alttaki satırı yukarı çeker. (dd gibi)
 

Hareket İşlemleri  (Motioning)

1. w  Komut modunda iken imlecin bulunduğu satırdaki her kelimenin başına gider. ( her basışta)
2. e  Komut modunda iken imlecin bulunduğu satırdaki her kelimenin sonuna gider. ( her basışta)
3. 0 (sıfır)  Komut modunda iken imlecin bulunduğu satırın başına gider. (Home tuşu gibi)
4. $  Komut modunda iken imlecin bulunduğu satırın sonuna gider. ( End tuşu gibi )
5. 1G  Komut modunda iken dosyanın ilk satırının başına gider.
6. 10G Komut modunda iken dosyanın 10.satırının başına gider.
7. G Komut modunda iken dosyanın en son satırının başına gider.
 

Kopyala Yapıştır (Copy, Paste)

1.  yy  Komut modunda iken imlecin bulunduğu satırı kopyalar.
2.  3yy  İmlecin bulunduğu satır da dahil olmak üzere aşağı doğru 3 satırı kopyalar.
3.  p  Hafızadaki veriyi imlecin bulunduğu satırın altına yapıştırır. 3p ; 3 kere yapıştır.
4.  P Hafızadaki veriyi imlecin bulunduğu satırın üstüne yapıştırır.

yw      :  İmlecin üzerinde bulunduğu kelimeyi yanındaki boşlukla beraber kopyalar (w =word)   –  ye : Kelimeyi boşluksuz olarak kopyalar.

yl        :  İmlecin üzerinde bulunduğu harfi kopyalar  ( l – letter)

 

Geri Alma (Undo)

1.  u  Son yapılan değişikliği geri alır.
2.  U  Satırda yapılan tüm değişiklikleri geri alır.
 

Arama (search)

1.  /string  String olarak ifade edilen aranılacak kelimedir. Bu kelime tüm dosya içerisinde aranır.
2.  n  Arama sonuçları arasında gezmeye yarar. Aşağı doğru ilerler.
3.  N Arama sonuçları arasında gezmeye yarar. Yukarı doğru ilerler.
 

Bul, Değiştir (Find, Replace)

1.  :%s/Ara/Degistir/Flag  Ara : Aranılacak Kelime Degistir : Yerine getirilecek kelime Flag bilgileri aşağıdaki gibidir.
2.  g Flag – Bulunan her şeyi değiştir.
3.  c Flag – Değiştirmeden önce onay alınır.
 

Dosya ve Shell İşlemleri

1.  :r dosyaismi  Dosyanın içeriğini imleçten sonraki kısma yazar
2.  :r !komut  Komutun çıktısını imleçten sonraki kısma yazar
3.  “add  Silinen satırı ‘a’ kodlu depoya koy
4.  “ayy  Kopyalanan satırı ‘a’ kodlu depoya koy
5.  “ap  ‘a’ kodlu depodaki veriyi yapıştır
6.  :reg a  ‘a’ kodlu depoda ne olduğunu gösterir. ( reg: register)
7.  :reg abcd  a,b,c,d depolarında ne olduğunu gösterir.
8.  :reg  Bütün depoları gösterir.
a…..z, A….Z, 0…9 depo kodu olarak bu karakterlerden biri kullanılabilir. Bütün kopyalama yapıştırma komutları depolu biçimde de kullanılabilir.

:!shellKomutu     :  Komutu çalıştırır.

:sh                         :  Shell’i çalıştırır. Shell’den çıkmak için exit komutunu kullanın.

 

vi Editörünün kullanımı hakkındaki sorularınızı aşağıdaki yorum panelini kullanarak bizlerle paylaşabilirsiniz.

Pin It on Pinterest

Daha fazla Linux
Temel Linux Ubuntu Komutları
Temel Linux Ubuntu Komutları

Bu dersimizde LUI (Line User Interface) olarak bilinen komut satırını kullanarak Linux'un temel komutlarını tanıyacağız. İlk olarak Linux Grafik Arayüzü...

Kapat