-
Notifications
You must be signed in to change notification settings - Fork 0
Vi Editor Usage
Vi Editör; kapalı kaynak işletim sistemi olan Unix işletim sistemi için geliştirilen bir metin editördür. Daha sonradan Unix işletim sistemine atıf yaparak geliştirilmiş olan Linux çekideği tabanlı işletim sistemlerine de entegre edilmiştir.
Vi Editör, diğer alışageldiğimiz metin editörlerine nispeten biraz farklı bir editördür. Diğer editörler bazı konularda her ne kadar kolay olsa da Vi Editörde, onlarda bulunmayan birçok farklı özellik bulunmaktadır.
Yukarıda belirtildiği üzere Vi, diğer editörlere nispeten gerçekten yeteneklidir. Örneğin, genelde diğer metin editörlerinde yapamayacağınız; bulunduğunuz imleçten itibaren kalan bütün paragrafı veya cümleyi silmek, metnin sonuna gitmek, belirli satırları kopyalamak, sayfanın yarısı ya da tamamı kadar yukarı veya aşağı gitmek ve daha önce duymadığınız işlemler(böyle işlemlerin yapılabileceğini bile düşünmemiş olabilirsiniz ve belki de "keşke bu özellik de olsaydı" dediğiniz özelliklerdir bunlar) ve dahası... Ayıca Vi editörü kullanırken, Linux dağıtımınızın komut satırındaki komutlardan oluşan çıktıları, düzenlemekte olduğunuz metne girdi olarak verebilirsiniz ve kopyalayabilirsiniz.
Birçok Linux dağıtımında Vi Editör kurulu olarak gelse de bazı dağıtımlarda kurulu olarak gelmez. Eğer sizin de işletim sisteminizde kurulu değilse, dağıtımınızın paket aracı ile(npm, apt, pacman...) kurabilirsiniz.
Debian tabanlı işletim sistemi olan Ubuntu'da şu şekilde kurulmadktadır.
sudo apt install vim
Neden Vi Editörü kurmak için 'vi' değil de 'vim' şeklinde bir isim kullandık. Vim, Vi editörün geliştirilmiş versiyonudur ve sondaki 'm' harfi ingilizcedeki improve kelimesinden gelir. En bariz geliştirme, Vi oluşturulduğu zamanlarda bilgisayarda yön tuşları olmadığı için yeni versiyonda yön tuşları aktive edilmiştir. Eski versiyonda harfler ile hareket edilir. Eğer bilgisayarınızda eski sürüm varsa vim editörü kurmanızı öneririm.
Zaten halihazırda bir Linux dağıtımı kullanıyorsanız, daha kolay olduğunu düşünerek başka editörler kullanmış olabilirsiniz ancak bundan sonra fikriniz değişebilir.
Öyleyse başlayalım...
Editöre girmek için uçbirim öyküncüsü(komut satırı) üzerinde şu komutu çalıştırabilirsiniz.
vi deneme
Bunu yazdığınızda, uzantısı öntanımlı olarak (eğer böyle bir dosya mevcut değilse )bir text dosyası oluşacaktır. Ancak başka tür bir dosya oluşturacaksanız veya girecekseniz isminin sonuna uzantısını eklemeniz yeterlidir. Ancak eğer oluşturduğunuz dosya yazma yetkisiz bir şekilde oluşmuşsa, dosyaya yetki vererek girmelisiniz. Yoksa yazdıklarınızı kaydetmek istediğinizde hata verecektir.
1- “vi +/merhaba deneme.txt
2- “vi +10 deneme.txt
3- “vi –r deneme.txt
4- “vi+ deneme.txt
5- “view deneme.txt”
Yukarıdaki çalıştırma şekillerinde ilkinde, editör metin dosyasını açıp metnin içinde ilk ‘merhaba’ gördüğü satıra gider. İkinci seçenekte ise dosya açılır ve imleç 10. satırın başına gider.
Üçüncü seçenekte ise bilgisayarınız veya komut ekranınız aniden kapandığında (yani düzgün şekilde çıkılmadığında), depolama sistemine kaydedilen dosyanızın son halini getirir. Kısacası hasara uğramış dosyanızı kurtarır.
Dördüncü seçenek ise dosyayı açıp metnin sonuna gider. Son olarak beşinci seçenek dosyayı salt okunur biçimde açar ve dosyaya yazamazsınız.
Normal editörlerden farklı olarak bu editörün üç farklı modu bulunmaktadır. Bunlar:
Yazı giriş modu Kısayol modu Komut giriş modu
Modlardan kısaca bahsedelim. Öncelikle şunu bilmeliyiz ki modlar arasında bazı tuşlar ile geçiş yapılabiliyor. Yazı giriş için "a/A" veya "I/i", komut giriş modu için ":", kısayol modu için ise "ESC" tuşu kullanılmaktadır. Ancak bu tuşlar editör ilk açıldığındaki ana göre yazılmıştır. Yani siz, yazı giriş modundayken önce "ESC"ye ardından ":" ye basarsanız komut moduna erişebilirsiniz.
Editör ilk açıldığında "ESC" modu aktif olduğu için böyle bir geçiş yapılmaktadır. Şimdi kafanız karışmış olabilir. Ancak kullandıkça ve ileride örneklerle daha iyi anlayacaksınız.
Editöre girip yazı moduna geçtiğinizde normal bir text dosyasında yazı yazar gibi kullanıyorsunuz. Ancak kopyalama, kesme geri alma gibi işlemler(kısayollar) için kısayol moduna geçmeniz yani "ESC" tuşuna basmanız gerekiyor.
Bu mod, genel olarak editörde, klavye kısayolu atamasak da fare ile yapabildiğimiz işlemleri halletmek için girdiğimiz moddur. Örneğin, kopyalama, sayfa kaydırma, satır silme ve dahası.
Bunlardan en çok işinize yarayacak bazı kısayolları vereceğim. (Kolay olması bakımından yazının geri kalanında “CTRL” karakterini “^” olarak ifade edeceğiz.)
• "ZZ" ifadesi metni kaydedip hemen editörden çıkış yapar.
• "xyy" karakteri; üzerinde bulunduğunuz satırdan itibaren x tane satırı kopyalar. Ve yapıştırmak istediğiniz satır üzerindeyken "p" karakterine basarsanız imlecin olduğu satırdan itibaren yapıştırır. "P" karakteri ise, "p" karakterinin tersine olarak bulundğunuz satırdan yukarı doğru yapıştırır.
• "xyl" karakteri; imlecinizin, üzerinde bulunduğunuz karakterden itibaren x tane karakteri kopyalar. Ve bir önceki maddede söylendiği gibi "p" ile yapıştırılır.
• "U/u" karakteri bir adım geri alır. ^+Z tuşunun işlevini görür.
• Art arda iki kez "d" karakterine basmak; imlecin, üzerinde bulunduğu satırı siler. Bu karaktere basılı tutulursa yukarı doğru sırasıyla satırlar silinir.
• "^+f" bir sayfada bulunan satır sayısı kadar ileri, "^+b" ise o kadar geri gider. Bir terminal ekranı kadar da düşünebilirsiniz.
• "^d" sayfada bulunan satır satır sayısının yarısı kadar ileri, "^u" ise o kadar geri gider.
• "^g" hangi satırda olduğumuzu, terminal ekranının aşağısında gösterir.
• "w" ifadesi, imleci bir sonraki kelimenin ilk karakterine, "b" ise bir önceki kelimenin ilk karakterine götürür.
• "e" karakteri, imleci bir sonraki kelimenin son karakterine götürür.
• "fx" ifadesi; imlecin, üzerinde bulunduğu cümledeki x karakterinde imleci taşır. İmlecin şimdiki konumuna hangi "x" karakteri daha yakın ise imleç oraya gider.
• ")" karakteri; imleci bir sonraki "." karakterinden sonraki ilk karaktere taşır. Yani cümle cümle ilerlemeyi sağlar. "Pardus, bir işletim sistemi değildir. Linux işletim sisteminin bir dağıtımıdır." Buradaki örnekte imlecin "Pardus" kelimesinin ilk harfinde olduğunu düşünürsek, ")" karakterine basıldığında imleç "Linux" kelimesinin ilk harfine gidecektir.
• "(" karakteri ise, ")" karakterinin yaptığı görevi geriye doğru gerçekleştirir.
• "}" karakteri ise ")" karakterinden farklı olarak cümle cümle değil de paragraf paragraf ilerler. Bir tane boş satır gördüğü yere atlar.
• "{" karakteri, "}" karakterinin yaptığı işi, tam tersi yönde yapmaktadır.
• "3x" ifadesi; imlecin, üzerinde bulunduğu karakterden itibaren sağa doğru 3 karakter siler."3" sayısı sadece örnektir, değişebilir.
• "dw" ifadesi, üstünde bulunduğu karakterden itibaren kelimenin kalanını siler.
• "d)" ifadesi, üzerinde bulunduğu karakterden itibaren cümlenin kalanını siler.
• "d$" ifadesi, bulunduğu karakterden itibaren satırın kalanını siler.
• "G" ifadesi ile imleç dosyanın sonuna gider.
Önemli gördüğüm kısayollar bunlar. Yoksa bütün kısayollar bunlardan ibaret değil. "Neden bir sayfa kaydırma, yarım sayfa kaydırma, kopyalama gibi kısayollara gerek duyayım. Zaten fare ile daha kolay yapabiliyorum?" gibi bir soru aklınıza gelebilir ki benim de gelmişti zamanında. Eğer Linux'u sadece kendi bilgisayarınızda kullanacaksanız ya da bir programlamacı değilseniz pek ihtiyacınız olduğu söylenemez. Ancak Linux kullananların da bildiği üzere bilgisayar faresinin kullanılamadığı bazı ekranlar var. Bu ekranlarda eğer metin işleyecekseniz mecbursunuz. Ve ayrıca yazılım işi ile uğraşıyorsanız koda odaklanmış yazarken fare ile kopyalama, kaydırma gibi şeylerle odağınızı bozmak yerine kolayca klavyeden halledebilirsiniz.
Komut moduna girmek için, kısayol modundayken ":" karakterine basmamız gerektiğini hatırlatmakta fayda var. Bu karaktere basıp modumuza girdikten sonra artık şu komutları çalıştırabilirsiniz.
• "w" ifadesi dosyayı kaydeder. CTRL+S ile aynı işlevi görür.
• "wq" ifadesi kaydedip ardından editörden çıkış yapar.
• "q!" ifadesi metni kaydetmeden çıkar.
• "e!" ifadesi; metni, giriş yaptığımız ilk haline geri döndürür. Tabi ki bunun uygulanabilmesi için dosyanın "w" ile kaydedilmemiş olması gerekir.
• "sh" ifadesi editör içindeyken terminal ekranı açar. Yapmak istediğiniz işleri terminalde gerçekleştirip, terminale "exit" yazarak editöre geri dönebilirsiniz.
• "r !komut" ifadesi ile çıktısı olan bir komutun çıktısını içinde bulunduğunuz metin belgesinin sonuna dahil edebilirsiniz. Örneğin "r !ls" ile bulunduğunuz dizindeki dosyaların listesini belgenize yazabilirsiniz.
• "set nu" ifadesi metin dosyasındaki satırları numaralandırır.
• "r deneme.txt" ifadesi ile bulunduğumuz dosyayı "ornek.txt" adı ile başka bir dosya olarak kaydeder. Windows işletim sistemindeki 'Farklı Kaydet' özelliği gibi.
• "/aranacak" ifadesi ile metin içinde arama yapabilirsiniz. "/" karakterinden sonra aramak istediğiniz ifadeyi yazıyorsunuz. Bir kelimeyi bulduğunda, eşleşen diğer kelimeye gitmek için 'next' kelimesinin baş harfi olan 'n' harfini kullanılır. "?aranacak" ifadesi ile metin içinde tersten arama yapabilirsiniz. Aşağıdan yukarıya doğru arar.
Bu mod için söylenebilecek tek şey, normal bir metin editörü gibi yazı yazmanız. Bu modda iken kısayol veya komut kullanamazsınız. Bu moda girmek için kısayol modundayken “:” karakterine basın.
Önemli Not: Özellikle Windows'tan ve Linux da olsa diğer editörlerden alışkanlık olarak SAKIN "CTRL + S" e basmayın. Editör kilitlenir ve tekrardan başlatmanız gerekir. Yazdıklarınız kaybolabilir.
Bu yazıda, Vi Editörün ne olduğu, nasıl kullandıldığı ve mantığı anlatılmıştır. Açıkçası tüm kısayol ve komutları akılda tutmak biraz zor olabiliyor. Tüm kısayolları ve komutlara bakmak için https://www.yoncu.com/s68/vi-editoru-kullanimi adresine göz atabilirsiniz.
Linux Başlığı Altındaki İçerikler