Yeni kullanıcılar için UNIX ipuçları, Bölüm 2:vi metin düzenleyicisi

0
butch
IBM Türkiye ve Fazlamesai.net işbirliği ile dilimize kazandırılan yeni bir IBM developerWorks makalesi ile karşınızdayız. Diğer makalelere buradan ulaşabilirsiniz.

Makalenin özgün haline bu adresten ulaşabilirsiniz.

Yeni kullanıcılar için UNIX'e ilişkin ipuçları ve incelikler, Bölüm 2: vi metin düzenleyicisi

Düzey: Orta

Tim McIntire (tm@timmcintire.net), Danışman, Serbest Yazar

07 Kasım 2006

vi metin düzenleyicisi yeni kullanıcılara zor görünebilir, ancak hata yapmayın, 30 yıllık bu eski aracın hâlâ dünyadaki en iyi geliştiricilerin birçoğu tarafından yaygın bir şekilde kullanılmasının bir nedeni var. vi metin düzenleyicisi, işlemleri araya ekleme (insert) kipi ve komut (command) kipi olarak ayırır ve size, kullanıcı tanımlı kesimlerde hızlı metin düzenleme, ekleme ve taşıma için inanılmaz hızlı erişim sağlayan tuş komutları sağlar.

Başlamadan önce

Bu eğitici yazıdan neler öğrenebileceğinizi görün ve anlatılanlardan nasıl en iyi şekilde yararlanabileceğinizi öğrenin.

Bu dizi hakkında

Dört bölümden oluşan bu eğitici yazılar UNIX® temellerini, bir kullanıcı bakış açısından ele almaktadır. Bu ilk eğitici yazı, bir süredir UNIX benzeri işletim sistemlerinden uzak kalmış kullanıcıların bilgilerini tazelemeleri için iyi bir fırsat olacaktır. Windows başvuruları ve karşılaştırmaları kullanıldığı için bu eğitici yazı, Windows® temelli yeni UNIX kullanıcıları için de yararlıdır. Dizinin sonraki eğitici yazılarında, özel uygulamaları (vi gibi) ayrıntılarıyla ele alacak ve kabukla ilgili incelikleri ve ipuçlarını tartışacağız.



Bu eğitici yazı hakkında

vi düzenleyicisi yaklaşık 30 yıldır, küçük değişikliklerle kullanımdadır. Kullanıcıların, parmaklarını her zaman ana konumlarda tutmalarına olanak veren faresiz ve klavye tarafından yönlendirilen bir arabirim sağlar. Kullanıcılar, araya ekleme ve komut kipleri arasında, göreceli olarak metin yerleştirmek ya da belgeyi kullanmak ve belgede gezinmek için geçiş yapabilirler. Komut kipi kullanıcılara, normalde göster ve tıklat işleviyle fare tarafından yönlendirilen bir arabirimde gerçekleştirilen tüm işlemleri sağlar.



Amaçlar

Bu eğitici yazının amacı, yeni vi kullanıcılarının metin belgelerini oluşturma, düzenleme ve metin belgelerinde gezinme konularında rahat olmalarını sağlamaktır. Eğitici yazıda, genel vi komutları üzerinde odaklanacağız ve vi'nin daha özel gruplara yönelik bazı özellikleri konusunda ayrıntıya gireceğiz. vi'nin kullanılmasını öğrenirken hatırlamanız gereken en önemli şey, metin düzenlemesinin başlangıçta size yavaş ve kullanışsız görüneceğidir. Bir fareyi ilk kez kullandığınız ya da klavyeyle yazı yazmayı ilk öğrendiğiniz zamanları düşünün. Bu 30 yıllık uygulama, kullanıcıları yeni bir şekilde düşünmeleri için zorlar, ancak sonuçta elde edeceğiniz yüksek hızlı, faresiz metin düzenlemesinin yararları düşünüldüğünde öğrenme eğrisi buna değer.



Önkoşullar

Bu eğitici yazı için komut satırıyla ilgili temel bir anlayışınız olmalıdır. Dosyaların ve dizinlerin ne olduklarını anlamanız ve UNIX benzeri işletim sistemindeki hesabınızda oturum açabilmeniz gerekir.



Sistem gereksinimleri

Bu eğitici yazıyı tamamlamak için gereksinim duyacağınız tek şey UNIX benzeri bir işletim sistemiyle çalışan herhangi bir bilgisayarda bulunan bir kullanıcı hesabına erişim olacaktır. UNIX benzeri işletim sistemleri, IBM® AIX® işletim sistemini, Linux®, Berkeley Software Distribution (BSD), Mac OS® X (komut satırına erişim için Uçbirim kullanır) ve daha birçok işletim sistemini içerir.



vi'ye giriş

vi metin düzenleyicisi iki ana kip kullanır: Komut (command) kipi ve araya ekleme (insert) kipi. Bu eğitici yazının birinci bölümü, komut kipinde gerçekleştirilen bir dosyada dolaşma üzerinde odaklanır. Komut kipindeyken, olağan bir şekilde bastığınız tuşlar metin oluşturmak yerine komutları yürütmek için kullanılır. Araya ekleme kipine girdiğinizde, metin girmek için (örneğin, komut satırına) klavye kullanılır. Komut kipinden çıkmak için Esc tuşuna basın.

vi komutları tek tuş basımları, Üst Karakter ya da Ctrl kullanılarak gerçekleştirilen tuş bileşimleri ya da tuş sıraları olabilir. Bir komut büyük içerdiğinde, bu harfle birlikte Üst Karakter tuşunu kullanmanız gerekir. Bir komutta iki harf ya da simge kullanıldığında, bu tuşlara aynı anda basmak yerine, sırayla basın.

Başlangıç için, komut satırından vi'yi açtıktan sonra yeni dosyanızın adını yazarak boş bir dosya oluşturacaksınız. Bu eğitici yazıda, vi'de çalışarak bir belge oluşturacak ve yararlı vi komutlarını öğrenmek için belgede düzeltmeler yapacaksınız. Eğitici yazının sonuna doğru, doğru zamanda yararlanabileceğiniz bazı güçlü komutların yanı sıra, günlük düzenlemelerde kullanılan ana vi komutlarının tümünü öğrenmiş olacaksınız. Bu eğitici yazı boyunca, Kaynaklar bölümünde yer alan Cal Tech başvuru sayfasını kullanmaktan çekinmeyin.

Tercih ettiğiniz UNIX benzeri işletim sisteminizde oturum açın ve vi'yi yeni bir dosyayla açın (bkz. Şekil 1).


Şekil 1. vi'yi yeni bir dosyayla açın
vi'yi yeni bir dosyayla
açın

vi, tutorial.txt adı verilen yeni ve boş bir dosyayla açılır (bkz. Şekil 2). Hemen garip bir şey fark edersiniz: Metin düzenleyicisinin en sol sütunu tilde (~) karakterleriyle doludur. Endişelenmeyin -- vi, belgenin tanımlanmamış bölümlerini bu şekilde gösterir. Diğer bir deyişle, dosyanın içeriği boş olduğu için bu satırlar henüz oluşturulmamıştır.


Şekil 2. vi'de boş bir dosya
vi'de boş bir dosya

Başka bir şey yapmadan önce bir dosyayı nasıl kaydedeceğinizi ve vi'den nasıl çıkacağınızı öğrenmeniz gerekir. Bu tip komutlar, iki nokta üst üste tuşunun ardından istediğiniz işlemi gösteren harflere sırayla basılarak girilir. Yeni dosyanızı kaydetmek için iki nokta üst üste, w ve daha sonra, Enter tuşlarına basın. vi'den çıkmak için iki nokta üst üste, q ve daha sonra, Enter tuşlarına basın. Şimdi, komut satırında vi'yi yeniden açın. vi'den değişikliklerinizi kaydetmeden çıkmayı denerseniz, işleminizi onaylamak için ünlem işareti tuşuna basmanız konusunda sizi uyarır. Bir sistem uyarısını geçersiz kılmak istediğinizde, tuş sıranızın sonuna bir ünlem işareti ekleyin; çıkışa ilişkin tuş sırası şöyledir:

tuş, q tuşu, ! tuşu, Enter tuşu

Dosyayı kaydetmek ve daha sonra, vi'den çıkmak için komutları birleştirebilirsiniz (wq gibi).

Yapmanız gereken ilk şey, dosyanızı nasıl düzenleyeceğinizi ve kullanacağınızı öğrenmek için biraz metin eklemektir. Varsayılan değer olarak, komut satırından başlarsınız. Bu nedenle, hemen yazı yazmaya başlarsanız, sonuçlar sizi şaşırtabilir. Kipler daha sonra ayrıntılı olarak anlatılacaktır; şimdilik, araya ekleme kipine geçmek için i tuşuna basın ve olağan metin düzenleyicisindeki gibi birkaç satır yazı yazın. Yazı yazmayı tamamladığınızda, komut kipine dönmek için Esc tuşuna basın. Bkz. Şekil 3 ve 4.


Şekil 3. Araya ekleme kipine girdiğinizde, düzenleyicinin en alt satırında durum belirtilir
vi'nin ekleme kipi

Şekil 4. Çalışabileceğiniz bir metin olması için örnek belgenize bu satırları yazın
vi'de düzenlemek için basit bir üç satırlı metin
dosyası

Esc tuşuna bastıktan sonra, imleç yazılan son karakterin üzerinde kalır ve yeniden komut kipine dönersiniz. Sonraki bölümde, dosyada nasıl gezineceğiniz öğretilmektedir.



vi'de gezinme

Komut kipinde, klavyeniz bir metin giriş aracı yerine bir arabirim aracına dönüşür. vi, parmaklarını ana tuşların (a-s-d-f ve j-k-l-;) üzerinde tutarken ve yakın tuşlara ulaşırken tüm genel komutlara erişmesi gereken kullanıcılar için tasarlanmıştır. Öğrenilecek ilk temel işlem imlecin hareket ettirilmesidir. Modern vi sürümlerinin çoğu klavyedeki ok tuşlarını kullanmanıza izin verir, ancak ileri düzey vi kullanıcıları, parmak uçlarındaki kolay erişilebilir tuşları (h-j-k-l) tercih ederler:

  • h ve l, soldaki ve sağdaki dört gezinme tuşunu bağladıkları için sırasıyla solu ve sağı gösterir.
  • k, imleci yukarı doğru hareket ettirir.
  • j, imleci aşağı doğru hareket ettirir.

Bu tuşları, kas belleğinizle hızlı bir şekilde öğrenirsiniz. İmleci, oluşturduğunuz üç satırlık dosyanın ilk satırına taşımak için k tuşuna iki kez basın. İmleç, birinci satırın sonunda durur. Devam edin ve imleci dosyanın diğer yerlerine götürmek için h-j-k-l tuşlarını kullanın, ancak daha sonra, yeniden birinci satırın sonuna getirin. Bkz. Şekil 5.


Şekil 5. İmleci, h-j-k-l yön tuşlarıyla dosyanın birinci satıra getirin
İmlecin vi'de hareket ettirilmesi

İmlecin kısayollarla hareket ettirilmesi

Satır içinde hareket etme

İmleciniz birinci satırın sonunda olduğuna göre, imleci satırın başına taşımak isteyebilir, ama bunun için defalarca h tuşuna basmak istemeyebilirsiniz. Komut kipinde vi, dosyanın çeşitli yerlerine, elinizi fareye götürüp dosyanın gitmek istediğiniz yerini gösterirken ya da karakter aralıklarını ok tuşlarıyla tek tek geçerken harcayacağınız zamandan çok daha hızlı gitmenizi sağlayan klavye tabanlı kısayollar sunar. Bu kısayollardan birincisi 0'dır (sıfır):

  • Bir satırın başına gitmek için 0 tuşuna basın; imleciniz, bu konuma atlar.
  • Satırın sonuna geri dönmek için $ tuşuna basın.

Devam edin ve bunları deneyin.

Her defasında bir karakter hareket etmeyi öğrendiniz. Ayrıca, her bir satırın başına ve sonuna gidebilirsiniz; ancak bunlar çok geniş aralıkta seçeneklerdir. Başka bir seçenek de sözcük sözcük gezinmektir. Bunu, w ve b tuşlarıyla yapabilirsiniz:

  • w tuşu, bir sözcük ileri gitmenizi sağlar.
  • b tuşu, bir sözcük geri gitmenizi sağlar.

Bunları denemek için birinci satırın başına gidin (0 tuşuna basın) ve w tuşuna üç kez basarak test sözcüğünün başına gidin. Daha sonra, b tuşuna iki kez basarak is sözcüğüne geri dönün.

w ve b tuş takımlarının imleci sözcüklerine başına taşıdığını fark etmişsinizdir. Sözcüklerin sonlarında gezinmek amacıyla ileri gitmek için e tuşuna ya da g tuşuna da basabilirsiniz. Geri gitmek için e tuşuna basın. Bkz. Şekil 6.


Şekil 6. İmleci w ve b tuşlarıyla sözcük sözcük hareket ettirmek, yanlış yazdığınız ya da değiştirmek istediğiniz bir sözcüğe gitmek için iyi bir yoldur
İmlecin sözcük sözcük hareket
ettirilmesi

Satırdan satıra hareket etme

Şimdi, bir satır içinde kolayca hareket edebiliyorsunuz, ancak daha büyük dosyalarla çalışırken, satırdan satıra hızlı bir şekilde gezinmek de önemli olacaktır. vi'de bunu gerçekleştirmenin birkaç yolu vardır. Yukarı ve aşağı komutlarını (k ve j) ya da page-up (yukarı sayfa) ve page-down (aşağı sayfa) komutlarını kullanabilirsiniz. vi'deki komutların çoğu, Ctrl tuşuna basmanızı gerektirmez, ancak page-up ve page-down komutları, bu gevşek kural için birer istisnadır:

  • Bir sayfa yukarı gitmek için Ctrl-u tuşlarına basın.
  • Bir sayfa aşağı gitmek için Ctrl-d tuşlarına basın.

Bir dosyanın başına ya da sonuna hızla gitmek için gg ya da G tuşunu kullanabilirsiniz:

  • İmleci belgenin ilk satırına yerleştirmek için gg tuşuna basın.
  • İmleci belgenin son satırına yerleştirmek için G tuşuna basın.

Ek yöntemler satır numaralarını belirtir; bunlar, vi komutlarına önceden bakmak için sayıların kullanılması bölümünde anlatılacaktır.



vi'de araya ekleme ve düzenleme

Belgede gezinirken komut kipinde kalırsınız ve klavyeyi, imleci hareket ettirmek için bir arabirim aracı olarak kullanırsınız. Bir sonraki komut kipi tuş dizisi, dosyanıza yeni metin girmek için kullanılan araya ekleme kipine geçiş için farklı yollar sağlar. Bu eğitici yazının başında, başlangıç metninizi girerken araya ekleme kipine geçmek için en temel yolu kullandınız: Insert (araya ekleme) sözcüğünün kısaltması olan i tuşuna bastınız. i tuşuna bastığınızda, geçerli imleç konumunun önünde araya ekleme kipine girersiniz.

Örneğin, gg tuşuna basarak dosyanın başına gittiyseniz, i tuşuna basarak, gireceğiniz herhangi bir metnin geçerli satırdaki metin önünde görünmesini sağlayabilirsiniz. gg, i tuşlarına basın ve daha sonra, I am inserting new text with i metnini girin. Metin girişini tamamladığınızda komut kipine dönmek için Esc tuşuna basın. Unutmayın, yeni metni girdikten sonra komut kipine dönmeniz gerekir ya da belgede gezinemezsiniz. Bkz. Şekil 7.


Şekil 7. Yeni metin eklemenin en kolay yolu, araya ekleme kipine geçmek için i tuşuna basmaktır
i tuşuyla yeni metin
eklenmesi

Yeni metin girmenin diğer temel yöntemi de, append (sona ekleme) sözcüğünün kısaltması olan a tuşunu kullanmaktır. a tuşuna basarak araya ekleme kipine geçebilirsiniz, ancak bu tuş, metni geçerli imleç konumunun önü yerine arkasına ekler. Bunu sınamak için belgenizin son satırına gidin ve satırın sonuna gitmek için G ve $ tuşlarına basın. Daha sonra a tuşuna basın, Pressing a appends text metnini yazın ve komut kipine dönmek için Esc tuşuna basın. Bkz. Şekil 8.


Şekil 8. Metin eklemenin başka bir yolu sona eklemenin (append) kısaltması olarak a tuşunun kullanılmasıdır
a tuşuyla yeni metin eklenmesi

İmleciniz şimdi dosyanızın son satırındaki noktada durmaktadır. i tuşuna şimdi basarsanız, metni noktadan önce girebilirsiniz. a tuşuna basarsanız, metin noktadan sonra yazılır. I tuşuna basarsanız (büyük harf), imleciniz satırın sonunda olsa bile girişinize satırın başından başlayabilirsiniz. Benzer bir şekilde, büyük A tuşuna basarsanız, imleç konumuna bakılmadan metninizi satırın sonundan girebilirsiniz. Bunu sınamak için I tuşuna basın, I think yazın ve Esc tuşuna basın. Bkz. Şekil 9.


Şekil 9. Bir satırın başına metin eklemek için (imleç konumundan bağımsız olarak), I tuşuna basın
I tuşuyla yeni metin eklenmesi

Yeni metin yerleştirmenin yararlı başka bir yolu da, eşzamanlı olarak araya ekleme kipine girmek ve metin dosyanıza yeni bir satır eklemektir. Normal metin araya ekleme gibi bu da imleç konumundan önce ya da sonra gerçekleştirilebilir:

  • Geçerli imleç konumunun üstüne yeni bir satır eklemek için O tuşuna basın.
  • Geçerli imleç konumunun altına yeni bir satır eklemek için o tuşuna basın.

Bu komutu denemek için O tuşuna basın, I inserted this line by pressing O metnini yazın ve komut kipine dönmek için Esc tuşuna basın. Bkz. Şekil 10.


Şekil 10. İmlecin önündeki yeni bir satıra metin girmek için O tuşuna basın
O tuşuyla yeni metin
eklenmesi

Artık, yeni metin eklemeye ilişkin başlıca yöntemleri kullandınız. Özetlemek gerekirse, a, i, A, I, o ve O tuşları kullanılır. Her birinin ne yaptığını hatırlayabiliyor musunuz? Endişelenmeyin, hatırlamasanız bile, birkaç gün bu tuşları kullandıktan sonra size çok basit gelecekler.

Metnin değiştirilmesi

tutorial.txt dosyanıza birkaç öğe yazdığınıza göre, bazı hatalar yaptığınızı fark etmiş ya da sözcük seçimlerinizi değiştirmek istiyor olabilirsiniz. Metni nasıl sileceğinizi öğrenmeden önce, metni nasıl değiştireceğinizi öğrenmeniz gerekir. Neden? Çünkü, yeni metin eklemeyi ve eski metni silmeyi öğrenirseniz, replace komutunun çok daha verimli olacağı yerlerde silme komutları kullanma alışkanlığı edinebilirsiniz. Tek adımlık bir işlemle bir sözcüğü değiştirmek, bir sözcüğü silip yerine yeni bir sözcük eklemekten daha hızlıdır.

vi, iki önemli değiştirme komutu kullanır. Birincisi, imlecin odaklandığı karakteri kaldıran ve tek bir yeni karakter girmeniz için araya ekleme kipine geçişi sağlayan r tuşudur. Diğer bir deyişle, r tuşuna bastıktan sonra tek bir tuşa basabilirsiniz. Sonuç olarak, vi otomatik olarak komut kipine döner (Esc tuşuna basmadan). Bunu denemek üzere ikinci satırın sonuna gitmek için k ve l tuşlarını kullanın. İmleciniz bir nokta işaretinde odaklanmalıdır. Noktayı bir ünlem işaretiyle değiştirmek için r tuşuna ve daha sonra ! tuşuna basın. Bkz. Şekil 11.


Şekil 11. Tek bir karakteri değiştirmek için r tuşuna basın ve belgede olmasını istediğiniz karakteri yazın
Metnin r tuşuyla değiştirilmesi

Change word (sözcük değiştir) sözcüklerinin kısaltması olan daha yararlı bir değiştirme (replacement) komutu, c ve daha sonra w tuşlarına basılarak yürütülür. Bu komut, geçerli sözcüğü siler ve hemen yeni bir sözcük yazmaya başlamanız için araya ekleme kipine geçiş yapmanızı sağlar. Bu durumda, vi'nin sözcük yazımını tamamladığınızı anlaması için Esc tuşuna basmanız gerekir. great sözcüğüne gidin, c ve w sözcüklerine basın, cool yazın ve Esc tuşuna basın. Bkz. Şekil 12.


Şekil 12. Bir sözcüğü değiştirmek için c ve w tuşlarına basın ve yeni sözcüğü yazın
Metnin cw ile değiştirilmesi

Metni değiştirmek yerine tamamen kaldırmak istiyorsanız, bir delete (sil) komutu kullanmanız gerekir. vi'deki diğer birçok şey gibi, bir defada silmek istediğiniz verilere bağlı olarak birden çok seçeneğiniz vardır. En temel delete komutu, her defasında bir karakterin silinmesini sağlayan x tuşudur. Bunu denemek için metin dosyanızın başına dönün ve Ctrl-u (üst sayfa) tuşlarına basın. Satır sonuna gitmek için $ tuşuna basın ve test. sözcüğünü silmek için beş kez x tuşuna basın. Bkz. Şekil 13.



Metnin silinmesi


Şekil 13. Karakterleri tek tek silmek için x tuşunu kullanın
Metnin x ile silinmesi

x tuşuna beş kez basmak istediğiniz işlemi yapmanızı sağladı, ancak vi'nin diğer şeylerde olduğu gibi bunu gerçekleştirmek için de daha hızlı bir yolu olduğunu tahmin etmişsinizdir. Bir sözcüğü, delete word (sözcük sil) sözcüklerinin kısaltması olan d ve w tuşlarıyla silebilirsiniz. Üç kez b tuşuna basarak This sözcüğüne gidin. Sözcüğü silmek için d ve w tuşlarına basın. Bkz. Şekil 14.


Şekil 14. Sözcükleri tek tek silmek için dw komutunu kullanın
Metnin dw ile silinmesi

Birinci satırın sonunda yarım bir tümceyle kaldınız. Bir satırda imleç konumunuzu izleyen her şeyi silmek için, satır sonu işlemlerinde kullanıldığını öğrendiğiniz d ve $ tuşlarını kullanabilirsiniz. Satırın sonundan is a sözcüklerini kaldırmak için d ve $ tuşlarına basın. Bkz. Şekil 15.


Şekil 15. İmleçten satır sonuna kadar karakterleri silmek için d$ komutunu kullanın
Metnin d$ ile silinmesi

vi'de yaygın bir şekilde kullanılan son silme yöntemi, d tuşuna iki kez basılarak gerçekleştirilen delete-line (satır sil) komutudur. Satırdaki metni siler ve bir alttaki satırı üste alır; böylece, belgede boş satır kalmaz. Dosyanızın ilk satırını kaldırmak için d tuşuna basın daha sonra aynı tuşa yeniden basın. Bkz. Şekil 16.


Şekil 16. Tüm satırı silmek için dd tuşunu kullanın.
Metnin dd ile silinmesi

Satırın yukarı taşınmasından söz etmişken, J tuşuna basarak, hiçbir metni silmeden imlecin altındaki satırı imlecin bulunduğu satıra çıkaran join (birleştir) komutunu kullanabilirsiniz. İmleciniz, belgenizin yeni satırında (satır 1) olmalıdır. Satır 2'yi satır 1'e çıkarmak için J tuşuna basın. Bkz. Şekil 17.


Şekil 17. vi'de iki satırı bir araya getirmek için J tuşuna basın
J ile yeni satır karakterinin silinmesi

Harekete geçme

Şimdiye kadar yapılan açıklamalarla, vi'de metin dosyası oluşturma, metin dosyasında gezinme ve metin dosyasını düzenleme konularında temel becerilere sahip olmanız gerekir. Temel komutlarla çalışmaya başladıktan sonra, daha geleneksel metin düzenleyicilerindeki kadar hızlı dosya oluşturabilir ya da dosyaları düzenleyebilirsiniz. Yine de repertuarınızda eksik kalan birkaç şey vardır. Bu bölümde, kesme, kopyalama ve yapıştırma işlemlerini nasıl yapacağınız öğretilecektir. Bir defada komutu birden çok kez gerçekleştirebilir, komutları yineleyebilir, belgede arama yapabilir ve işlemi geri alabilir ya da yineleyebilirsiniz. Bu düzenleyici, diğer metin düzenleyicilerinde bulunan ana işlevselliği karşılar ve hızlı erişimli klavye komut stilini kullanır.

Kesme, kopyalama ve yapıştırma

vi'de, bir metin parçası silindiğinde, silinen parça otomatik olarak arabellekte saklanır (Windows'taki yapıştırma panosu gibi). x, dd, dw ve d$ ile kesme komutunu gerçekleştirmeyi zaten öğrendiniz. Verileri silmeden kopyalamak için benzer komutlar vardır -- bu işleme vi'de yank denir -- :

  • Bir satırın tümünü kopyalamak için iki kez y tuşuna basın.
  • Tek bir sözcüğü kopyalamak için y ve w tuşlarına basın.
  • Geçerli imleç konumundan başlayarak bir satırı kopyalamak için y ve $ tuşlarına basın.
Verilerin kopyalanması, nasıl yapıştırılacaklarını bilmezseniz çok da yararlı olmayacaktır. Bu nedenle, bu komutları sınamadan önce, p tuşuna basılarak etkinleştirilen paste (yapıştır) komutunu öğrenmeniz gerekir. vi'deki diğer birçok komut gibi, verileri küçük p harfi imleç konumundan sonra yapıştırırken, büyük P harfi verileri imleç konumundan önce yapıştırır.

Kopyalamak ve yapıştırmak için metin dosyanızın ilk satırına gidin ve y tuşuna iki kez basın. Daha sonra, imleci satır 2'ye indirin ve p tuşuna bir kez basın. Böyle yaptığınızda satır 3'te satır 1'in bir kopyası oluşturulur. Bkz. Şekil 18.


Şekil 18. Bir satırı kopyalamak için yy ve yapıştırmak için p komutunu kullanın.
yy ve p komutları ile kopyalama ve
yapıştırma

İmleci ikinci satıra taşıyarak ve d tuşuna iki kez basarak bir kesme ve kopyalama işlemi gerçekleştirmeyi deneyin. Daha sonra, satırı satır 2'nin altına yapıştırmak için p tuşuna basın. Bkz. Şekil 19.


Şekil 19. Bir satırı kesmek ve yapıştırmak için dd ve p komutlarını kullanın
dd ve p komutları ile kesme ve yapıştırma

vi komutlarından önce sayıların kullanılması

Bu noktada, bir defada birden çok veri parçasıyla bu komutların bazılarının nasıl çalışacağını merak ediyor olabilirsiniz. Örneğin, genellikle ayrı ayrı satırlar yerine tüm paragrafı kopyalayıp yapıştırıyorsunuzdur. vi, neredeyse her komutun önünde bir sayı kullanmanıza izin verir ve komutun birden çok kez çalıştırılmasını sağlar. Bu, vi'yi güçlü kullanıcılar için aşırı güçlü ve önemli yapan bir parçadır. Bir defada iki satırı kesmeye ve yapıştırmaya ilişkin basit bir örneği denemek için dosyadaki satır 1'e gidin, 2 tuşuna basın, d tuşuna iki kez basın ve daha sonra p tuşuna basın. Bkz. Şekil 20.


Şekil 20. dd ve p komutlarından önce 2 sayısını kullanarak bir defada iki satırı kesmek ve yapıştırmak
dd ve p komutlarıyla 2 satırı kesme ve
yapıştırma

Aynı kavram, bir satırı birden çok kez kopyalamak için paste komutu sırasında kullanılabilir. Bunu yapmak için satır 1'e dönün, satırı yy komutuyla kopyalayın ve p tuşuna basmadan önce 10 tuşlarına basın. Şimdi vi ile ilgili 10 satır daha fazla açıklamanız vardır. Devam etmeden önce, 5 tuşuna ve daha sonra iki kez d tuşuna basarak fazladan satırların bazılarını kaldırın. Bkz. Şekil 21.


Şekil 21. Önünde 10 sayısı bulunan p komutunu kullanarak birden çok satırın yapıştırılması; daha sonra, dd komutunun önünde 5 sayısını kullanarak bunlardan bazılarının silinmesi
yy ve p komutlarıyla 10 satırı kopyalama ve
yapıştırma

Gezinme komutlarının önündeki sayılarla denemeler yapın. Örneğin, l komutundan önce 30 sayısını girerseniz imleç 30 karakter sağa kayar. G tuşuna basmadan önce 7 sayısını girerseniz, imleç dosyadaki satır 7'ye gider. 5 ve w tuşlarına basılması imleci beşinci sözcüğe taşır. Denemeleriniz bittiğinde, sonraki adıma geçebilirsiniz.



vi komutlarının yinelenmesi

vi'deki başka bir yararlı komut . (nokta) tuşuyla yürütülür. . tuşu, son komutu yineleyerek işlerin hızla gerçekleştirilmesi için önemli bir özellik sunar. Örneğin, imleci birinci satırdaki cool sözcüğüne getirin ve sözcüğü fast sözcüğüyle değiştirmek için cw komutunu kullanın. fast sözcüğünü yazdıktan sonra Esc tuşuna basmayı unutmayın. Aşağıda cool sözcüğünün geçtiği ikinci örneğe gidin ve . tuşuna basarak sözcüğü, fast sözcüğüyle değiştirin. Dosyanızın son iki satırındaki line sözcüğüne de gidebilir ve bunları da . tuşuyla değiştirebilirsiniz. Bkz. Şekil 22.


Şekil 22. Nokta tuşuyla komutları yineleme belge düzenlemelerini hızla gerçekleştirmenizi sağlar
yy ve p komutlarıyla 10 satırı kopyalama ve
yapıştırma

vi'de metin arama

vi'de metin arama da hızlı ve verimlidir. Bir diziyi aramaya başlamak için / tuşuna (sağa eğik çizgi tuşu) basın, ardından arama yapmak istediğiniz diziyi girin ve Enter tuşuna basın. vi becerilerinizin bazılarını birleştirmek için / tuşuna basın, think yazın, Enter tuşuna basın ve daha sonra sözcüğü know olarak değiştirmek için cw komutunu kullanın. İşlemi tamamladığınızda Esc tuşuna basmayı unutmayın.

Aynı şeyi satır 2'de de yapmak istiyorsanız, sonraki think sözcüğünü bulmak için n tuşuna basın ve sözcüğü know olarak değiştirmek için . tuşuna basın. ? tuşu da, / tuşu gibi arama yapar; ancak, aramayı geriye doğru gerçekleştirir. think sözcüklerini know ile değiştirdikten sonra, geriye doğru arama yapmak için ? tuşuna basın ve fast sözcüğünü yazın. Bkz. Şekil 23 ve 24.


Şekil 23. Sağa eğik çizgi tuşuna basarak ve aramak istediğiniz diziyi girerek dizileri arama
Sağa eğik çizgi ve n tuşlarıyla arama
yapma

Şekil 24. ? tuşuna basarak ve aramak istediğiniz diziyi girerek dizileri geriye doğru arama
Soru işareti tuşuyla geriye doğru
arama

vi'de geri alma ve yineleme

Hata yaparsanız, belgenizi uygun duruma geri yüklemek için vi'de modern geri alma ve yineleme seçenekleri vardır. Geri alma, komut kipinde u tuşuna basılarak gerçekleştirilir ve yineleme, komut kipinde Ctrl-r tuşlarına basılarak yürütülür. Aşağıdaki gibi geri almayı ve yinelemeyi deneyin (bkz. Şekil 2):

  1. Metin dosyanızda satır 3'e gidin ve birkaç satırı kaldırın.
  2. Satır 3'e gitmek için 3 ve G tuşlarına basın.
  3. İki satırı silmek için 2 tuşuna basın ve dd komutunu girin.
  4. Hay Allah! Hata yaptınız ve iki satırı geri almak istiyorsunuz. Bunu yapmak için önceki komutu u tuşuyla geri almanız gerekir.
  5. Fikrinizi değiştirirseniz ve iki satırın kaldırılmasını isterseniz, komutu yinelemek için Ctrl-r tuşlarına basın.

Şekil 25. Bir komutu geri almak için u tuşunu, yinelemek için Ctrl-r tuşlarını kullanın
Geri alma ve yineleme komutlarıyla
alıştırma


Özet

Özetlemek için öğrendiğiniz şeylerin bazılarını birleştirmek amacıyla son komut sırasında dolaşın (bkz. Şekil 26):

  1. Belgenizin başına gitmek için g tuşuna iki kez basın.
  2. Dosyanızdaki her şeyi silmek için (çünkü 100'den az satırınız var), 100 sayısını yazın ve dd komutunu girin.
  3. Araya ekleme kipine geçmek için i tuşuna basın.
  4. I am done with this tutorial! yazın.
  5. Esc tuşuna basın.
  6. y tuşuna iki kez basın, 100 yazın ve p tuşuna basın.

Bilgisayarınıza 100 kez bu eğitici yazıyı bitirdiğinizi söylediniz! İyi iş çıkardınız; bir mola verip güzel bir kahve içme zamanı.


Şekil 26. Bu eğitici yazıyı bitirdiniz
Son komut sırası

Bu eğitici yazıda çalıştıktan sonra, vi ile dosya oluşturma ve dosyaları düzenleme bilgisine sahip olmanız gerekir. Bu eğitici yazıda gösterilen komutlarla denemeler yapın ve günlük metin düzenleyiciniz olarak vi'yi kullanmaya başlamak için alıştırmalar yapın. Başlangıçta biraz yavaş olsanız da, kısa bir süre içinde komutları ezberlediğinizde ve ne zaman ve nerede kullanacağınızı öğrendiğinizde, vi üretkenliğinizi önemli ölçüde artırabilir.

Dizinin sonraki eğitici yazılarında kabukla ilgili incelikler ve ipuçları ele alınacaktır. Bu arada, komut satırıyla çalışmaya ve vi alıştırmaları yapmaya devam edin -- farkına varmadan güçlü bir UNIX kullanıcısı olacaksınız!




Kaynaklar

Bilgi Edinme
  • Yeni kullanıcılar için UNIX'e ilişkin ipuçları ve incelikler: Bu dizinin diğer bölümlerini inceleyin.

  • vi başvuru sayfası: Bu başvuru sayfasını inceleyin ve eğitici yazı sırasında elinizin altında bulundurun.

  • freebsd.org yazısı: Özgün vi sürümünü oluşturan kişi olan Bill Joy, vi komutlarının tamamı için bir başvuru niteliğindeki bu yazıyı yazdı.

  • vim.org: Bu siteden vi ile ilgili daha çok bilgi edinin. vim, vi'nin modern bir sürümüdür ve birçok Linux ve UNIX benzeri işletim sisteminde bulunur.

  • Bram Moolenaar: vim geliştiricilerinin birinden vi ile ilgili daha çok bilgi edinin.

  • vi Lover's ana sayfası: Bu sitede, eksiksiz vi başvurularına ilişkin kapsamlı sürüm bilgileri ve bağlantılar vardır.

  • Unix.org: Open Group'un sitesi, UNIX ve UNIX sertifikalarıyla ilgili daha çok şey öğretebilir.

  • Linux.org: UNIX benzeri açık kaynaklı bir işletim sistemi olan Linux ile ilgili daha fazla bilgi öğrenin.

  • AIX ve UNIX: UNIX becerilerinizi geliştirmek için developerWorks AIX ve UNIX bölgesini ziyaret edin.

  • AIX ve UNIX'te yeni olanlar: AIX ve UNIX ile ilgili daha fazla bilgi almak için New to AIX and UNIX (AIX ve UNIX'te yeni olanlar) sayfasını ziyaret edin.

  • developerWorks teknik olaylar ve web yayınları: Güncel developerWorks teknik olaylarını ve web yayınlarını izleyin.

  • AIX 5L Wiki: AIX ile ilgili teknik bilgilere ilişkin bir işbirliği ortamı.

  • Podcasts: İlgili ayarları yapın ve IBM teknik uzmanlarının bilgilerine ulaşın.

Ürün ve teknoloji edinme
  • IBM deneme yazılımı: developerWorks'deki yazılımı doğrudan yükleyerek bir sonraki geliştirme projenizi oluşturun.


Tartışma



Yazar hakkında


Tim McIntire'ın
fotoğrafı


Tim McIntire, HPCC yazılımları, desteği ve danışmanlığı konularında bir pazar lideri olan Cluster Corporation'ın danışmanı ve kurucu ortaklarındandır. Zaman zaman IBM developerWorks ve Apple Developer Connection'a da katkıda bulunmaktadır. Tim McIntire'ın Scripps Institution of Oceanography's Digital Image Analysis Lab'daki bilgisayar bilimleri çalışmasını yönetirken yürüttüğü araştırması, Concurrency and Computation ve IEEE Transactions on Geoscience and Remote Sensing gibi çeşitli dergilerde yayınlanmıştır. Ek bilgi için TimMcIntire.net adresini ziyaret edebilirsiniz.

Görüşler

0
realist

Yeni kullanıcılara AIX'in yalnızca IBM'in Power işlemcili sunucularında çalıştığını ve diğer UNIX türevlerinden oldukça farklı olduğunu hatırlatayım.

Parmakların otomatikleşmesi ve başka metin düzenleyici kullanamama riskini göze alıyorsanız VIM öğrenimine buradan devam edebilirsiniz.

0
Satanique
Bu VIM deterjan VIM değil galiba. Nedir bu VIM? İsmi çok değişikmiş...

Selametle...
0
Satanique
Bu VIM'i kullanmak için bulaşık teline ihtiyacımız yok değil mi?
Görüş belirtmek için giriş yapın...

İlgili Yazılar

UNIX Dilinde Konuşma, Bölüm 7: Komut satırı deyimleri

butch

IBM Türkiye ve Fazlamesai.net işbirliği ile dilimize kazandırılan yeni bir IBM developerWorks makalesi ile karşınızdayız. Diğer makalelere buradan ulaşabilirsiniz.

Makalenin özgün haline bu adresten ulaşabilirsiniz.

UNIX Dilinde Konuşma, Bölüm 5: Veriler, veriler her yerde!

butch

IBM Türkiye ve Fazlamesai.net işbirliği ile dilimize kazandırılan yeni bir IBM developerWorks makalesi ile karşınızdayız. Diğer makalelere buradan ulaşabilirsiniz.

Makalenin özgün haline bu adresten ulaşabilirsiniz.

developerWorks: Yüksek performanslı Linux kümeleme 2: Çalışan Bir Küme Oluşturma

butch

IBM Türkiye ve Fazlamesai.net işbirliği ile dilimize kazandırılan yeni bir IBM developerWorks makalesi ile karşınızdayız. Diğer makalelere buradan ulaşabilirsiniz.

Makalenin özgün haline bu adresten ulaşabilirsiniz.

Ajax ve XML: Beş adet çok iyi Ajax pencere bileşeni

tongucyumruk

IBM Türkiye ve Fazlamesai.net işbirliği ile dilimize kazandırılan yeni bir IBM developerWorks makalesi ile karşınızdayız. Diğer makalelere buradan ulaşabilirsiniz.

Makalenin özgün haline bu adresten ulaşabilirsiniz.

developerWorks: Ajax Üzerine Ayrıntılı Bir İnceleme, Bölüm 1

butch

Bilişim camiasının önemli ve değerli bilgi kaynaklarından biri olan, yayımladığı özgün makalelerle prestijli bir site sıfatını fazlası ile hak eden IBM developerWorks, pek çok durumda referans olarak gösterilen bir yer. Artık IBM developerWorks anadilimizde, Türkçe makalerle yazılımcılara ve bilişim uzmanlarına seslenecek. FM ve IBM Türkiye işbirliği ile Türk diline kazandırılan ve düzenli olarak çıkacak developerWorks makalelerinin ilkini yılbaşı hediyesi olarak sunmaktan ötürü sevinçliyiz.

Not: Çevirilecek makaleler sizden gelecek öneriler doğrultusunda belirlenecek.