Bu makalenin farkl� dillerde bulundu�u adresler: Turkce |
Ben Y. Yoshino Yazar Hakk�nda: Ben Yoshinori Yoshino Hawaii �niversitesinde �al��maktad�r. Onun anasayfas�na www.eng.hawaii.edu/~ben adresinden ula�abilirsiniz. ��erik:
|
�zet:
Bu, vi �zerine Ben Y. Yoshino taraf�ndan yaz�lm�� e�itsel bir yaz�d�r. Yaz�n�n asl� www.eng.hawaii.edu/Tutor/vi.html adresinde bulunabilir. Ayn� yazar taraf�ndan yaz�lm�� ba�ka e�itsel yaz�lar da bulunmaktad�r: www.eng.hawaii.edu/Tutor/. Biz bu makaleyi www.rootprompt.org adresinde bulduk ve yazar�n izniyle yay�nlad�k.
VI edit�r�, bir�ok Unix kullan�c�s� taraf�ndan kullan�lan ekran-tabanl� bir edit�rd�r. VI edit�r�, programc�lara yard�mc� olacak bir�ok g��l� �zelli�e sahiptir; ama �o�u yeni ba�layan kullan�c� VI kullanmaz; ��nk� de�i�ik �zelliklerin �oklu�u onlar� korkutur. Bu e�itsel yaz�, yeni ba�layanlar�n VI edit�r�n� kullanmaya al��malar�na yard�mc� olmak i�in yaz�lm��t�r; fakat VI'�n normal seviyedeki kullan�c�lar�yla ilgili b�l�mler de i�ermektedir. �rnekler sa�lanm��t�r ve ��renmenin en iyi yolu bu �rnekleri denerken, kendi �rneklerinizi de d���nmektir. Bir �eyi kendinizin tecr�be etmenizden daha iyi bir yol olamaz.
Bu e�itsel yaz�da a�a��daki uyla��mlar kullan�lacakt�r:
^X bir kontrol karakterini g�stermektedir. �rne�in e�er yaz�da,^d g�r�rseniz bu, "control" tu�unu bas�l� tutarak ilgili harfe basacaks�n�z demektir. Bu �rnek i�in, "control" tu�unu bas�l� tutacak ve ard�ndan d ye basacaks�n�z.
Bu b�l�m, xterm gnome-terminali, kvt, aterm gibi modern terminal em�lat�rlerine sahip Linux kullan�c�lar�yla ilgili de�ildir. Bu terminal pencereleriyle $TERM kabuk de�i�keni daima do�ru de�eri alacakt�r; bu y�zden bu konuda endi�elenmenize gerek yoktur.
VI edit�r� t�m ekran� kullan�r; bu y�zden ne t�r bir terminaliniz oldu�unu bilmesi gerekir. Sisteme girdi�inizde, wiliki (wiliki, Hawaii �niversitesindeki ana M�hendislik sunucusunun ad�d�r ) size hangi terminali kulland���n�z� soracakt�r. Kar��n�za gelecek imle� ��yle g�r�necektir:
TERM = (vt100)
Terminalinizin bir vt100 (veya vt100 gibi davranabilen bir em�lat�r) oldu�unu biliyorsan�z, sisteme girdi�inizde terminal tipi i�in "return" tu�una bas�n. E�er bir hp terminaliniz varsa, terminal t�r� i�in "hp" yaz�n ve "return" e bas�n. E�er ne t�r terminaliniz oldu�undan emin de�ilseniz sistem y�neticinize sorun veya sizin i�in do�ru terminal t�r�n� ayarlayabilecek birinden yard�m isteyin.
E�er sisteme girdi�inizde bir hata yapar ve yanl�� terminal t�r� girerseniz pani�e kap�lmay�n. Sistemden ��k�n ve ayarlar� d�zeltmek i�in a�a��daki komutlar� verin:
�nce kabu�unuza ne t�r terminale sahip oldu�unuzu anlatmal�s�n�z.
( Kabu�unuzun hangisi oldu�unu bilmiyorsan�z bunu ��renmek i�in echo
$SHELL yaz�n.) Verilen �rneklerde terminal t�r� "vt100" d�r. Bunu
kendi terminal t�r�n�zle de�i�tirerek kullanmal�s�n�z.
C kabu�u (/bin/csh) i�in komut ��yledir:
set term=vt100Bourne Kabu�u (/bin/sh) veya Korn Kabu�u (/bin/ksh) i�in komutlar ise ��yledir:
export TERM TERM=vt100Ard�ndan terminalinizi a�a��daki komutla ba�tan ayarlay�n:
tset
Art�k terminal tipi (umuyoruz ki) do�ru olarak ayarland� ve VI'� ba�latmak i�in haz�rs�n�z.
VI edit�r�, kullan�c�lar�n yeni dosyalar yaratmas�na veya varolan dosyalar� de�i�tirmesine izin verir. VI edit�r�n� ba�latmak i�in gereken komut, ard�na dosya ad� eklenerek verilecek vi komutudur. �rne�in gecici adl� bir dosyada de�i�iklik yapabilmek i�in, vi gecici yazacak ve "return" tu�una basacaks�n�z. VI'� dosya ad� olmadan da ba�latabilirsiniz; fakat daha sonra �al��man�z� kaydetmek istedi�inizde VI'a hangi dosya ad�n� kullanaca��n� belirtmek zorundas�n�z.
VI'� ilk kez ba�latt���n�zda sol taraf� tildelerle dolu bir ekran
g�receksiniz. (Bir tilde �una benzer: ~) Dosya sonundan sonraki t�m bo�
sat�rlar bu �ekilde g�sterilir. Ekran�n�z�n sonunda dosya ad� g�r�nmelidir.
E�er �nceden varolan bir dosya ad� belirlediyseniz dosyan�n boyutu da ayn�
yerde �u �ekilde yaz�l� olmal�d�r:
"dosya_adi" 21 lines, 385 characters
E�er ad�n� verdi�iniz dosya �nceden yoksa, o zaman bunun yeni bir dosya oldu�unu size
�u �ekilde g�sterecektir:
"yeni_dosya" [New file]
E�er VI'� dosya ad� olmadan ba�latt�ysan�z, ekran�n son sat�r� VI ba�lad���nda bo� olacakt�r. E�er ekranda bu beklenen sonu�lar g�r�lm�yorsa terminal tipiniz yanl�� ayarlanm�� olabilir demektir. :q yaz�n ve VI'�n d���na ��karak terminal tipinizi d�zeltin. Nas�l yap�laca��n� bilmiyorsan�z sistem y�neticinize dan���n.
Art�k VI'a nas�l girece�inizi bildi�inize g�re nas�l ��kaca��n�z� da bilmeniz iyi olur. VI edit�r� iki mod a sahiptir ve VI'�n d���na ��kmak i�in komut modunda olman�z gerekir. "Escape" veya "Esc" yaz�l� tu�a bas�n. (Terminalinizde b�yle bir tu� yoksa ^[, veya control-[.) kombinasyonlar�n� deneyerek komut moduna ge�in. E�er "Escape" tu�una bast���n�zda zaten komut modunda iseniz, endi�elenmeyin. Bir bip sesi gelebilir; fakat hala komut modunda olacaks�n�z.
VI'� b�rakmak i�in komut :q dur. komut moduna girdi�inizde, "iki nokta �st�ste" ve 'q' tu�lar�n�n ard�ndan "return" e bas�n. E�er dosyan�zda bir �ekilde de�i�iklik yap�lm��sa, edit�r bu konuda sizi uyaracak ve ��kman�za izin vermeyecektir. Bu meaj� g�zard� etmek ve de�i�ikikleri kaydetmeden VI'dan ��kmak i�in :q! yaz�n.
Normal olarak bir edit�rde, yapt���n�z de�i�iklikleri kaydetmeyi de isteyeceksiniz. Edit�r�n i�eri�ini kaydetmek i�in gereken komut :w dur. Bu komutu edit�rden ��kma komutuyla birle�tirebilir ve :wq yazabilirsiniz. :w komutunun ard�ndan bir dosya ad� vererek yazd�klar�n�z� farkl� bir dosya ad�yla da kaydedebilirsiniz. �rne�in �al��t���n�z dosyay� dosya2 ad�yla kaydetmek istiyorsan�z: w dosya2 yaz�p "return" e basmal�s�n�z.
De�i�ikliklerinizi kaydedip VI'� b�rakman�n bir ba�ka yolu ise ZZ komutudur. komut modundayken, ZZ yaz�n. Bu komut :wq ile ayn� i�i g�recektir. Dosyada herhangi bir de�i�iklik yap�ld�ysa bunlar kaydedilecektir. Bu yaln�zca iki tu�a basarak edit�rden ��kman�n en kolay yoludur.
�o�u kullan�c�n�n VI edit�r� hakk�nda ilk ��rendi�i �ey, iki modunun oldu�udur: komut ve yaz�m. komut modu, yaz�da de�i�iklik yapabilmek i�in gereken komutlar�n girilmesine imkan verir. Bu komutlar genellikle bir ya da iki karakter uzunlu�undad�r ve �ok az tu�a basarak girilebilir. yaz�m modu, klavyeden girilen her �eyin dosyaya yaz�lmas�n� sa�lar.
VI komut modunda ba�lar. VI edit�r�n� yaz�m moduna sokan bir�ok komut vard�r. Bunalr�n en s�k kullan�lanlar� ise a ve i dir. Bu iki komut a�a��da tan�t�lmaktad�r. Bir kez yaz�m moduna girdi�inizde, escape tu�una basarak bu moddan ��kabilirsiniz. E�er terminaliniz bunu desteklemiyorsa, ^[ birle�imi i�e yaramal�d�r(control-[). "escape" tu�una iki kez basarsan�z VI kesinlikle komut modunda olacakt�r. �nceden komut modunda olman�z halinde escape e basman�z, edit�r� komut modundan ��kartmaz. Yaln�zca, zaten komut modunda oldu�unuzu size anlatan bir bip sesi duyabilirsiniz.
Komut modu komutlar� genellikle �u bi�imdedir: (Se�ime ba�l� arg�manlar, k��eli
parantezler i�inde verilmektedir)
say�, 1'den 9'a kadar olan rakamlardan herhangi biriyle ba�layabilen bir say�d�r. �rne�in x komutu, imlecin alt�ndaki bir tek karakteri siler. E�er komut modundayken 23x yazarsan�z, 23 karakter silinecektir.
Baz� komutlar se�ime ba�l� bir nerede parametresi kullanabilirler. Bu parametreyle belgenin ka� sat�r�n�n ya da ne kadar�n�n komuttan etkilendi�i verilebilir. nerede parametresi ayn� zamanda, imleci hareket ettiren herhangi bir komut olabilir.
Bir kullan�c�n�n VI'a yeni ba�layabilmesi i�in gereken baz� basit komutlar buradad�r. Daha bir�ok uygun komut ileriki b�l�mlerde ele al�nacakt�r.
VI edit�r� yaz� par�ac�klar�n� depolayacak 36 tampona ve bir de genel ama�l� tampona sahiptir. Dosyadan bir yaz� blo�u silindi�inde ya da kopyaland���nda, bu par�a genel ama�l� tampona yerle�tirilir. �o�u VI kullan�c�s� di�er tamponlar� nadiren kullan�r ve onlar olmadan da rahat edebilir. E�er belirtilirse, yaz� blo�u ba�ka bir tamponda da saklan�r. Tampon, " komutu kullan�larak belirtilir. " yazd�ktan sonra, tamponu belirleyen bir harf veya hane girilmelidir. �rne�in, "mdd komutu, m tamponunu kullan�r ve son iki karakter, bulunulan sat�r� sildirmeye yarar. Benzer �ekilde yaz�, p veya P komutlar� kullan�larak yap��t�r�labilir. "mp komutu, m tamponunun i�eri�ini imlecin bulundu�u yerden sonraya yap��t�r�r. Sonraki iki b�l�mde kullan�lan komutlar i�in bu tamponlar, kelime veya paragraflar�n ge�ici depolama yerleri olarak belirlenebilir.
Kesme i�in genel olarak kullan�lan komut d dir. Bu komut, yaz�y� dosyadan siler. Komuttan �nce se�ime ba�l� olarak bir say� kullan�labilir ve ard�na da bir hareket ettirme �zelli�i eklenebilir. E�er komutu tekrarlayarak dd yazarsan�z, bulunulan sat�r� silersiniz. ��te bunlar�n birka� farkl� birle�imi:
Bir de y komutu (kopyalama komutu) vard�r ki, d komutuna benzer �al���rken dosyadaki yaz�y� silmeden onu al�r.
Yap��t�rma komutlar� p ve P d�r. Tek farklar� ise, p belirlenen veya genel tamponu imle� pozisyonundan sonra yap��t�r�rken; P nin imle�ten �nce yap��t�rmas�d�r. Yap��t�rma komutundan �nce bir say� belirtmek, yaz�y� belirlenen say� kez tekrar yap��t�r�r.
VI edit�r�, programc�lar�n kodlar�n� istedikleri d�zg�nl�kte bi�imlendirmelerine yard�mc� olacak �zelliklere sahiptir. Kodun i�indeki her yuvalanma seviyesindeki hizay� ayarlayacak bir de�i�ken vard�r. Bunu ayarlamak i�in bu yaz�n�n �zelle�tirme b�l�m� ne g�z at�n. �rne�in, kayd�rma geni�li�ini(shiftwidth) 4 karaktere ayarlamak i�in gereken komut :set sw=4 t�r.
A�a��daki komutlar sat�rlar�n�z� hizalar veya hizalamay� kald�r�r. Bunlarla beraber bir say� da belirtilebilir:
VI edit�r� ayn� zamanda kaynak kodunuzu, tek kalan parantez olup olmad���n� kontrol etmek i�in inceleyen bir �zelli�e sahiptir. % komutu, bir sa� paranteze kar�� gelen sol parantezi aramaya (ya da tam tersi) yarar. �mleci bir parantezin ya da k��eli parantezin �zerine getirip % yazarsan�z ona ka��l�k gelecek parantez bulunacakt�r. Kar��l��� olmayan bir parantez bulunursa, VI bip sesi ��kartarak size bunu g�sterecektir.
VI edit�r� iki �e�it aramaya sahiptir: katar veya karakter. Bir katar aramak i�in, / ve ? komutlar� kullan�l�r. Bu komutlar� verdi�inizde yazd�klar�n�z, arad���n�z katar� girdi�iniz ekran�n en alt sat�r�nda g�r�lecektir. Bu iki komut yaln�zca katar� arad�klar� y�nler a��s�ndan farkl�d�r. / komutu dosyada a�a�� do�ru arama yaparken, ? komutu yukar� do�ru arama yapar. n ve N komutlar� �nceki aramay�, s�ras�yla, ayn� veya z�t y�nde tekrar ederler. VI'da baz� karakterlerin �zel anlam� vard�r. Bunlar�n, aranan ifadenin bir par�as� olabilmeleri i�in �nlerine birer "\" karakteri konmal�d�r.
�zel karakterler:
Karakter arama ise bir sat�r i�inde, komuttan sonra girilen karakteri arar. f ve F komutlar�, yaln�zca bulunulan sat�rda karakteri ararlar. f ileri do�ru, F ise geriye do�ru arama yapar. �mle�, bulunan karakterin �zerine gelir.
t ve T komutlar� yaln�zca bulunulan sat�rda karakteri ararlar; fakat t ile imle�, bulunan karakterden �nce dururken ,T sat�r� geriye do�ru arar ve imleci karakterden sonraya yerle�tirir.
Bu iki komut tak�m� ; veya , komutlar� kullan�larak tekrar edilebilir. Burada ; son karakter aramas�n� ayn� y�nde yaparken , komutu ters y�nde tekrar eder.
"ic" se�ene�iyle; (veya ignorecase ile ) set (type :set ic) ayn� zamanda b�y�k k���k harf duyarl��� olmadan arama yap�labilir.
VI'�n davran�� bi�imini ba�lang��ta tan�mlayabilirsiniz. :set komutuyla ayarlayabilece�iniz bir�ok yaz�m se�ene�i vard�r. ��te Wiliki'de bulunan VI ve EX edit�r� se�enekleri: ( Bu listeyi elde etmek i�in komut modundayken :set all yazman�z ve ard�ndan return e basman�z yeterlidir)
Bu se�eneklerin baz�lar�, i�lerindeki '=' i�aretleriyle de�erlerini alm��t�r. Di�erlerinin ise baz�lar� ayarl�, baz�lar� de�ildir. (Bu a��k veya kapal� tarz� se�eneklere Boolean ad� verilir ve ayarl� olmad�klar�n� g�stermek i�in �nlerinde "no" yaz�l�d�r.) Burada g�sterilen se�enekler, hi�bir �zelle�tirmeye gerek duymayan se�eneklerdir. Bunlar�n baz�lar�n�n tan�mlar� a�a��da, bir k�saltmayla verilmi�tir. �rne�in set autoindent komutunu a�mak i�in :set autoindent veya :set ai yazabilirsiniz. Kapatmak i�inse::set noautoindent veya :set noai yaz�lmal�d�r.
VI edit�r�nde yararlan�lan bir EX edit�r� komutu abbreviate tir. Bu
�zellik, belirtilen katarlar i�in k�saltmalar yapabilmenizi sa�lar. Komut �una
benzer: :ab katar yerine konulacak �ey. �rne�in
"Humuhumunukunukuapua`a" ad�n� yazmak zorundaysan�z ama b�t�n ismi
yazmak istemiyoran�z bunun i�in bir k�saltma kullanabilirsiniz. Bu �rnek i�in
komutumuz ��yle girilebilir:
:ab 9u Humuhumunukunukuapua`a
Art�k her 9u yaz���n�zda (ayr� bir kelime olarak), VI belirtilen
kelime ya da kelimeleri girecektir. E�er 9university yazarsan�z bu kelimeyi
de�i�tirmeyecektir.
�nceden belirtilmi� bir k�saltmay� kald�rmak i�in gereken komut unabbreviate 'tir. �nceki �rne�i kald�rmak i�in gereken komut ":una 9u" olacakt�r. K�saltmalar�nz�n bir listesini g�rebilmek i�in :ab yazman�z yeterlidir.
�zelle�tirme i�in yararl� bir di�er EX edit�r� komutu haritaland�rma komutudur. �ki �e�it haritaland�rma komutu vard�r. Biri komut modu, di�eri yaz�m modu i�indir. Bu iki komut s�ras�yla :map ve :map! komutlar�d�r. Haritaland�rma, k�saltmaya benzer �al���r. Ona bir tu� s�ralamas� verir ve onunla yer de�i�tirecek bir ba�ka tu� s�ralamas� daha verirsiniz. (Yer de�i�tirilen tu� s�ralamalar� genellikle VI komutlar�d�r.)
VI edit�r�n� �zelle�tirmenin iki yolu vard�r. Ana dizininizde .exrc adl� bir
dosya yarat�rsan�z dosyadaki t�m komutlar VI'�n a��l���nda okunacat�r. Di�er
y�ntem ise EXINIT adl� bir �evresel de�i�keni ayarlamakt�r. Se�enekler,
kabu�unuzun ayar dosyas�nda ayarlanacakt�r. E�er /bin/csh (C-Shell)
kullan�yorsan�z, gereken komut .cshrc dosyas�na yaz�l�r ve ��yledir:
setenv EXINIT '...'E�er /bin/sh veya /bin/ksh kullan�yorsan�z, gereken komut .profile dosyas�na yaz�l�r ve ��yledir:
export EXINIT EXINIT='...'�rnekteki gibi ... koymay�n. Bu bo�lu�a, ayarlamak istedi�iniz komutlar� girin. �rne�in, otomatik hizalama, sat�r numaralama ve �� karakterlik kenar geni�li�i ayarlamak istiyorsan�z (C kabu�u i�in) setenv komutu ��yle olacakt�r:
setenv EXINIT 'set ai nu wm=3'
E�er setenv EXINIT in i�ine birden fazla �ey koymak istiyorsan�z komutlar� bir boru ile ay�r�n (|). �rne�in komut modundaki 'g' komutunu 'G' ile de�i�tirmek i�in komut :map g G, ve yukar�daki komutla birle�tirilerek �unu elde edersiniz:
setenv EXINIT 'set ai nu wm=3|map g G'
.exrc dosyas�n� yaratmak istiyorsan�z, tamamen ayn� �eyleri EXINIT den sonra g�sterildi�i gibi dosyaya yazmal�s�n�z.
VI edit�r�, dosyan�z�n ge�ici bir kopyas�n� yazar ve siz ona kaydetmesini
s�yledi�inizde veya yazma i�i bitti�inde ge�ici kopyan�ni�eri�ini as�l dosyaya
koyar. E�er doyan�z� yazarken bir sorun ��karsa VI edit�r� yapt���n�z t�m
�al��malar� kaydetmeye �al��acak ve daha sonra kurtarmak i�in depolayacakt�r.
(Not: E�er siz herhangi bir dosya �zerinde �al���rken VI �l�rse, size
�al��man�z� nas�l kurtaraca��n�za dair bir elektronik ileti yollayacakt�r.
-r se�ene�i kurtarma anlam�na gelen 'recovery' s�zc��� yerine
ge�er. �rne�in hayati dosyas�nda de�i�iklik yaparken kazayla
sistemden ��kt�ysan�z vi edit�r�n�n -r se�ene�i yard�mc�
olacakt�r. Komut hemen hemen �una benzeyecektir:
vi -r vitalinfo
-r se�ene�ini bir kez kulland�ktan sonra kurtard���n�z �al��may�
kaydetmeniz �ARTTIR. -r se�ene�i her kusurlu i�leme i�in bir kez
i�e yarayacakt�r.
��-istasyonlar�n� kullan�rken dikkat edilecek iki �ey vard�r: Ayn� dosyay� ayn� anda birden fazla yerde de�i�tirmek ve ekran�n boyutunu de�i�tirmek.
VI as�l dosyan�z�n ge�ici bir kopyas�n� olu�turup bu kopyan�n i�eri�ini dosyan�n asl�na kaydetti�i i�in, birden fazla konsoldan sisteme girmi� olman�z ve bir dosyay� birden fazla yerde VI kullanarak de�i�tiriyor olman�z durumunda bir pencerede kaydeder ard�ndan da bir ba�ka pencerede kaydederseniz ilk kay�t i�leminde yapt���n�z de�i�iklikler, ikinci kay�t taraf�ndan silinecektir. Bu y�zden VI da her dosyan�n bir tek kopyas�n� �al��t�rd���n�zdan emin olun.
Bir i�-istasyonunda bir terminal program� kullan�yorsan�z, ekran�n boyutunu
pencerenin kenarlar�n� s�r�kleyerek de�i�tirebilirsiniz. E�er bu �zellik
d�zg�n �al��m�yorsa bunun i�in gereken komut :
eval `resize`Bu da i�e yaramazsa komutumuz:
eval `/usr/bin/X11R6/resize`olacakt�r. Bu, VI'�n �zellikle Vim gibi yeni s�r�mleri i�in nadir rastlanabilecek bir sorundur.
Bu liste VI komutlar�n�n fonksiyonlar�na g�re s�n�fland�r�lm�� bir �zetidir. Eri�ilebilir ba�ka komutlar da olabilir bu y�zden VI �zerine yaz�lm�� elyordam sayfas� adresini ziyaret edin. Kolay kullan�m i�in bu dosyay� kaydedebilir ve kullanmayaca��n�z� d���nd���n�z komutlar� silerek daha k�sa bir dosya elde edebilirsiniz.
VI edit�r�, EX adl� bir ba�ka edit�r �zerine in�aa edilmi�tir. EX edit�r� yaln�zca sat�r sat�r de�i�iklik yapar. VI Edit�r�nden bir EX komutu girmeye ba�lamak istiyorsan�z : komutunu kullan�rs�n�z. Burada verilen liste tam de�ildir; fakat verilen komutlar, en s�k kullan�lanlard�r. E�er belli komutlarla (�rne�in ":s" ve ":w") birden fazla sat�r de�i�ikli�e u�rat�lacaksa komuttan �nce de�i�iklik aral��� belirtilmelidir. �rne�in, 3 ten 15 e kadar olan sat�rlardaki "from" s�zc�klerini "this" ile de�i�tirmek i�in verilmesi gereken komut ��yledir: ":3,15s/from/this/g" .
|
Sayfalar�n kal�c�l��� LinuxFocus Edit�r Tak�m� taraf�ndan sa�lanmaktad�r.
© Ben Y. Yoshino LinuxFocus.org 2000 LinuxFocus hakk�ndaki hata mesajlar�n� veya yorumlar�n�z� iletmek i�in buraya t�klay�n. |
2000-05-01, generated by lfparser version 1.5