Home Map Index Search News Archives Links About LF
[Top bar]
[Bottom bar]
Bu makalenin farkl� dillerde bulundu�u adresler: English  Castellano  Deutsch  Francais  Nederlands  Russian  Turkce  

[Foto of the Auteur]
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:

VI Edit�r�ne Hakim Olma

�eviri : Zeynep Arslano�lu

[VIM the edtitor]

�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.



 

Uyla��mlar

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.

 

Ba�lamadan �nce

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:

Art�k terminal tipi (umuyoruz ki) do�ru olarak ayarland� ve VI'� ba�latmak i�in haz�rs�n�z.

 

VI Edit�r�n� Ba�latma

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.

 

VI'�n D���na ��kma

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.

 

VI'�n �ki Modu

�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 Modunda Komutlar�n Yaz�lmas�

Komut modu komutlar� genellikle �u bi�imdedir: (Se�ime ba�l� arg�manlar, k��eli parantezler i�inde verilmektedir)

Kontrol karakterleri kullanan komutlar da dahil �o�u komutlar bir karakter uzunlu�undad�r. Bu b�l�mde tan�t�lan komutlar, VI edit�r�nde en s�k kullan�lan komutlard�r.

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.

 

Baz� Kolay VI Komutlar�

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.

a
yaz�m moduna gir. Yaz�lan karakterler imlecin o anki yerinden sonraya eklenecektir. Bir say� belirtirseniz, girilmi� olan yaz�n�n b�t�n� o say� kadar tekrar yaz�lacakt�r.
h
imleci sola bir karakter hareket ettir.
i
yaz�m moduna gir.Yaz�lan karakterler imlecin o anki yerinden �nceye eklenecektir. Bir say� belirtirseniz, girilmi� olan yaz�n�n b�t�n� o say� kadar tekrar yaz�lacakt�r.
j
imleci bir sat�r a�a�� hareket ettir.
k
imleci bir sat�r yukar� hareket ettir.
l
imleci sa�a bir karakter hareket ettir.
r
imlecin alt�ndaki bir karakteri de�i�tir. Birden fazla karakteri de�i�tirmek i�in say� belirtin.
u
dosyadaki son de�i�ikli�i geri al. u komutunu tekrar vermek de�i�ikli�i yeniden yapacakt�r.
x
imlecin alt�ndaki bir karakteri sil. Say� ka� karakter silinece�ini belirtir. �mle�ten sonra gelen karakterler silinecektir.

 

VI'da Yaz� Tamponlar� (Text Buffers)

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 ve Kopyalama

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:

d^
imlecin bulundu�u yerden sat�r�n ba��na kadar siler
d$
imlecin bulundu�u yerden sat�r�n sonuna kadar siler
dw
imlecin bulundu�u yerden s�zc���n sonuna kadar siler
3dd
imlecin bulundu�u yerden itibaren a�a��daki �� sat�r� siler.

Bir de y komutu (kopyalama komutu) vard�r ki, d komutuna benzer �al���rken dosyadaki yaz�y� silmeden onu al�r.

 

Yap��t�rma

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.

 

Kodunuzu Hizalama ve Kontrol Etme

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:

<<
Bulunulan sat�r� bir kayd�rma geni�li�i sola kayd�r�r.
>>
Bulunulan sat�r� bir kayd�rma geni�li�i saga kayd�r�r.

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.

 

Kelime ve Karakter Arama

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:

^
Sat�r�n ba��. (Aranan bir ifadenin ba��nda.)
.
Tek bir karaktere kar�� gelir.
*
Kendinden �nceki karakterin s�f�r veya daha fazla tekrar�na kar�� gelir.
$
Sat�r�n sonu. (Aranan bir ifadenin sonunda.)
[
Bir dizi uyan veya uymayan karakteri ba�lat�r.�rne�in: /f[iae]t �unlardan herhangi birine uyar: fit fat fet
^ ile kullan�ld���nda ise "[ ]" i�indeki harfler d���nda her �eye uyar: /a[^bcd] �unlar�n hi�birine uymayacakt�r: ab ac ad ;fakat a harfinin yan�nda b c d olmayan t�m katarlara uyacakt�r.
<
Birs�zc���n ba�lang�c�n� veya sonunu bulmak i�in "\" ard�ndan bir ifade yaz�n.�rne�in: /\<kaz\> yaln�zca kaz s�zc���n� bulur; ikaz ve kaza gibi s�zc�kleri bulmaz.
>
Yukar�daki '<' karakterinin tan�t�m�na bak�n.

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 ve EX i�in Ayarlar

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)

noautoindent magic noshowmatch autoprint mesg noshowmode noautowrite nomodelines noslowopen nobeautify nonumber tabstop=8 directory=/tmp nonovice taglength=0 nodoubleescape nooptimize tags=tags /usr/lib/tags noedcompatible paragraphs=IPLPPPQPP LIpplpipnpbp term=xterm noerrorbells prompt noterse noexrc noreadonly timeout flash redraw timeoutlen=500 hardtabs=8 remap ttytype=xterm noignorecase report=5 warn keyboardedit scroll=11 window=23 keyboardedit! sections=NHSHH HUuhsh+c wrapscan nolisp shell=/bin/csh wrapmargin=0 nolist shiftwidth=8 nowriteany

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.

autoindent (ai)
Bu se�enek edit�r� �yle ayarlar ki, i�eri hizalanm�� bir sat�r� takip eden di�er sat�rlar da �ncekiyle ayn� hizalamaya sahip olur. Bu hizalamay� geri almak i�in, ilk karakter pozisyonundayken ^D 'ye bas�lmal�d�r. ^D yaz�m modundayken �al���r; komut modunda �al��maz. Ayr�ca, i�eri hizalaman�n geni�li�i a�a��da a��klanaca�� gibi shiftwidth ile ayarlanabilir.
exrc
Bulunulan dizindeki .exrc dosyas� ba�lang��ta okunur. Bu, ya EXINIT �evresel de�i�keniyle veya ana dizininizdeki .exrc dosyas�yla ayarlan�r.
mesg
Bu se�enek :set nomesg kullan�larak kapat�l�rsa siz edit�r� kullan�rken kimse sizi rahats�z edemez.
number (nu)
Sat�rlar�n solunda sat�r numaralar�n� g�sterir.
shiftwidth (sw)
Bu se�enek ald��� de�erle yaz�l�m tabstop geni�li�ini ayarlar. ( Yaz�l�m tabstop, << ve >> komutlar� i�in kullan�l�r.) �rne�in �u komutla kayd�rma geni�li�ini 4'e ayarlars�n�z: :set sw=4.
showmode (smd)
Bu se�enek, edit�r�n, i�inde bulundu�unuz modunu g�sterir. E�er yaz�m modundaysan�z ekran�n en alt sat�r�nda INPUT MODE yazacakt�r.
warn
Bu se�enek, dosyada de�i�iklik yap�p hen�z kaydetmedi�iniz durumda sizi uyaracakt�r.
window (wi)
Bu se�enek VI'�n kulland��� penceredeki sat�rlar�n say�s�n� ayarlayacakt�r. �rne�in VI edit�r�n� ekran�n�z�n yaln�zca 12 sat�r�n� kullanmak �zere ayarlamak istiyorsan�z (�rne�in modeminiz yava� oldu�u i�in) �unu kullanman�z gerekecektir: :set wi=12.
wrapscan (ws)
Bu se�enek kelime araman�n davran���n� etkiler. E�er wrapscan a��ksa ve s�zc�k dosyan�n sonuna kadar bulunamad�ysa aramaya ba�tan ba�layacakt�r.
wrapmargin (wm)
Bu se�enek s�f�rdan b�y�k bir de�er al�rsa, edit�r kendili�inden "word wrap" yapacakt�r. Yani, sol kenardan belirtilen say� kadar bo�luk i�eri girerseniz, 'return' e basman�za gerek kalmadan s�zc�k alt sat�ra inecektir. �rne�in, kenar kal�nl���n� (wrap margin) iki karaktere ayarlamak i�in �unu yazman�z gerekecektir: :set wm=2.

 

K�saltmalar ve Tu�lar� Ba�ka Tu�lara Haritalama

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.)

 

EXINIT �evresel De�i�keni ve .exrc dosyas�

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.

 

Terminalinizde Bir Sorun Oldu�unda �al��malar�n�z� Kurtarma

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.

 

��-�stasyonlar�nda VI Kullan�m�yla �lgili Uyar�

��-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.

 

VI Komutlar�n�n �zeti

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.

Kesme ve Yap��t�rma/Yaz� Silme

"
Tampon kullanan herhangi bir komut taraf�ndan kullan�lacak tamponu belirle. " i�aretinden sonra bir tampona kar�� gelecek hane ya da harf gir.
D
�mlecin bulundu�u yerden sat�r sonuna kadar sil.
P
Belirtilen tamponun i�eri�ini imleci bulundu�u yerden veya sat�rdan �nceye yap��t�r. E�er tampon belirtilmemi�se 'P' genel tamponu kullanacakt�r.
X
�mlecin bulundu�u yerden �nceki karakteri sil.
Y
Bulunulan sat�r� belirtilen tampona kopyala. E�er tampon belirtilmemi�se genel tampon kullan�lacakt�r.
d
nerede ye kadar sil. "dd" bulunulan sat�r� siler. Say� verilirse o kadar sat�r silinir. Silinen her �ey " komutuyla belirtilen tampona yerle�tirilir. E�er tampon belirtilmemi�se genel tampon kullan�lacakt�r.
p
Belirtilen tamponun i�eri�ini imleci bulundu�u yerden veya sat�rdan sonraya yap��t�r. E�er tampon belirtilmemi�se 'p' genel tamponu kullanacakt�r.
x
�mlecin alt�ndaki karakteri sil. Say� verilirse o kadar karakter silinir. Karakterler imle�ten sonra silinecektir.
y
nerede ye kadar kopyala ve sonucu tampona yerle�tir. "yy" bulunulan sat�r� kopyalar. Tampon " komutuyla belirlenebilir. Say� verilirse o kadar sat�r kopyalan�r. E�er tampon belirtilmemi�se genel tampon kullan�lacakt�r.

Yeni Yaz� Yazma

A
Bulunulan sat�r�n sonuna ekle.
I
Bir sat�r�n ba��ndan itibaren yaz.
O
(Harf olan O ) Bulunulan imlec pozisyonunun �st�ndeki yeni sat�rda komut moduna gir.
a
komut moduna gir. Yaz�lan karakterler bulunulan imlec pozisyonundan sonra yaz�lcakt�r. Say� belirtilirse girilen yaz� o kadar tekrar edilerek yaz�lacakt�r.
i
komut moduna gir. Yaz�lan karakterler bulunulan imlec pozisyonundan �nce yaz�lacakt�r. Say� belirtilirse girilen yaz� o kadar tekrar edilerek yaz�lacakt�r.
o
Bulunulan imle� pozisyonunun alt�ndaki yeni sat�rda komut moduna gir.

�mleci Dosyan�n ��inde Hareket Ettirme

^B
Bir sayfa geriye d�n. Say� verilirse o kadar sayfa geri d�n�lecektir.
^D
Yar�m pencere ileri git. Say� verilirse o kadar sat�r ileri gidilecektir.
^F
Bir sayfa ileriye git. Say� verilirse o kadar sayfa ileri gidilecektir.
^H
�mleci sola bir karakter oynat. Say� verilirse o kadar karakter gidilecektir.
^J
�mleci ayn� kolonda bir sat�r a�a�� oynat. Say� verilirse o kadar sat�r a�a�� inilecektir.
^M
Bir sonraki sat�r�n ilk karakterine git.
^N
�mleci ayn� kolonda bir sat�r a�a�� oynat. Say� verilirse o kadar sat�r a�a�� inilecektir.
^P
�mleci ayn� kolonda bir sat�r yukar� oynat. Say� verilirse o kadar sat�r yukar� ��k�lacakt�r.
^U
Yar�m pencere geri git. Say� verilirse o kadar sat�r geri gidilecektir.
$
�mleci bulunulan sat�r�n sonuna g�t�r. Say� verilirse takip eden sat�rlar�n sonuna gidilecektir.
%
�mleci kar��l�k gelen parantez veya k��eli parantezlerin �zerine g�t�r.
^
�mleci, bo�luk olmayan ilk karakterin �zerine g�t�r.
(
�mleci c�mlenin ba��na g�t�r.
)
�mleci bir sonraki c�mlenin ba��na g�t�r.
{
�mleci �nceki paragrafa g�t�r.
}
�mleci sonraki paragrafa g�t�r.
|
�mleci say� ile belirtilen kolona g�t�r.
+
�mleci, sonraki sat�rda bo�luk olmayan ilk karakterin �zerine g�t�r.
-
�mleci, �nceki sat�rda bo�luk olmayan ilk karakterin �zerine g�t�r.
_
�mleci, bulunulan sat�rda bo�luk olmayan ilk karakterin �zerine g�t�r.
0
(S�f�r) �mleci bulunulan sat�r�n ilk kolonuna g�t�r.
B
�mleci, noktalama i�aretlerini atlayarak, bir kelime geriye g�t�r.
E
�leri do�ru, noktalama i�aretlerini atlayarak, kelimenin sonuna git.
G
Say� ile belirtilen numaral� sat�ra git. E�er say� verilmemi�se dosyan�n sonuna git.
H
�mleci, ekran�n ba��ndaki ilk bo�luk olmayan karaktere g�t�r.
L
�mleci, ekran�n sonundaki ilk bo�luk olmayan karaktere g�t�r.
M
�mleci, ekran�n ortas�ndaki ilk bo�luk olmayan karaktere g�t�r.
W
�leri do�ru, noktalama i�aretlerini atlayarak, kelimenin ba��na git.
b
�mleci geriye do�ru bir kelime g�t�r;e�er imle� bir kelimenin ortas�ndaysa imleci o kelimenin ilk karakterine g�t�r.
e
�mleci ileriye do�ru bir kelime g�t�r;e�er imle� bir kelimenin ortas�ndaysa imleci o kelimenin son karakterine g�t�r.
h
�mleci bir karakter sola g�t�r.
j
�mleci bir sat�r a�a�� g�t�r.
k
�mleci bir sat�r yukar� g�t�r.
l
�mleci bir karakter sa�a g�t�r.
w
�mleci bir kelime ileri g�t�r; e�er imle� bir kelimenin ortas�ndaysa imleci ondan sonraki kelimenin ilk karakterine g�t�r.

�mleci Ekran Etraf�nda Dola�t�rma

^E
Bir sat�r ileriye git. Say� verilirse o kadar sat�r ileri gidilir.
^Y
Bir sat�r geriye git. Say� verilirse o kadar sat�r geri gidilir.
z
Ekran� a�a��daki se�eneklerle tekrar �iz. "z<return>" bulunulan sat�r� ekran�n en ba��na getirir; "z." bulunulan sat�r� ekran�n ortas�na getirir; ve "z-" bulunulan sat�r� ekran�n sonuna getirir. 'z' komutundan �nce bir say� belirtirseniz, bulunulan sat�r� verilen numaral� sat�r yapar. �rne�in, "16z." 16 numaral� sat�r� ekran�n ortas�na getirir.

Yaz�lar�n Yerlerini De�i�tirme

C
Bulunulan yerden sat�r�n sonuna kadar git.
R
Ekrandaki karakterleri, Escape tu�una bas�lana kadar, girilen karakterlerle de�i�tir.
S
B�t�n bir sat�r� de�i�tir.
c
nerede ye kadar de�i�tir. "cc" bulunulan sat�r� de�i�tirir. Say� verilirse o kadar sat�r de�i�tirilir.
r
�mlecin alt�ndaki karakteri de�i�tir. Birden fazla karakteri de�i�tirmek i�in bir say� verilmelidir.
s
�mlecin alt�ndaki karakteri de�i�tir ve komut moduna geri d�n. Birden fazla karakteri de�i�tirmek i�in bir say� verilmelidir. Yer de�i�tirilecek son karaktere bir dolar i�areti ($) yerle�tirilecektir.

Yaz� veya Karakter Arama

,
Son f, F, t veya T komutunu ters y�nde tekrarla.
/
/ dan sonra verilen katar� dosyan�n i�inde a�a�� do�ru ara.
;
Son f, F, t veya T komutunu tekrarla.
?
? den sonra verilen katar� dosyan�n i�inde yukar� do�ru ara.
F
'F' komutundan sonra verilen karakteri, bulunulan sat�rda geriye do�ru ara. E�er bulunursa imleci oraya hareket ettir.
N
'/' veya '?' ile verilen son aramay� tekrar et. Ters y�nde ara.
T
'T' komutundan sonra verilen karakteri, bulunulan sat�rda geriye do�ru ara. E�er bulunursa imleci ondan sonraki s�tuna hareket ettir.
f
'f' komutundan sonra verilen karakteri, bulunulan sat�rda ara. E�er bulunursa imleci oraya hareket ettir.
n
'/' veya '?' ile verilen son aramay� tekrarla.
t
't' komutundan sonra verilen karakteri, bulunulan sat�rda ara. E�er bulunursa imleci o karakterden �nceki s�tuna hareket ettir.

Karakter/Sat�r Bi�imlemelerini(Formatting) De�i�tirme

~
�mlecin alt�ndaki karakteri b�y�kse k���k harfe, k���kse b�y�k harfe �evir.
<
nerede ye kadar olan sat�rlar� sola bir kayd�rma geni�li�i kayd�r. "<<" bulunulan sat�r� sola kayd�r�r ve yan�nda bir say� da verilebilir.
>
i>nerede ye kadar olan sat�rlar� sa�a bir kayd�rma geni�li�i kayd�r. ">>" bulunulan sat�r� sa�a kayd�r�r ve yan�nda bir say� da verilebilir.
J
Bulunulan sat�r� �ncekiyle birle�tir. Say� verilirse o kadar say�da sat�r birle�tirilir.

Kaydetme ve ��kma

^\
"VI" modundan ��k ve "EX" moduna gir. EX edit�r�, VI'�n �zerine kurulu oldu�u sat�r edit�r�d�r. VI a geri d�nmek i�in gereken EX komutu ":vi" d�r.
Q
"VI" modundan ��k ve "EX" modunda gir. ex edit�r� sat�r sat�r �al��an bir edit�rd�r. VI a geri d�nmek i�in gereken EX komutu ":vi" d�r.
ZZ
Bir de�i�iklik yap�lm��sa de��iklikleri kaydederek edit�rden ��k.

Derleme

^G
Bulunulan dosya ad�n� ve dosyadaki yeri g�ster.
^L
Ekran� temizle ve yeniden g�ster.
^R
Yanl�� sat�rlar� silerek ekran� yeniden g�ster.
^[
Escape tu�u. Tamamlanmam�� komutlar� iptal eder.
^^
En son de�i�tirilen dosyaya geri d�n.
!
Bir kabuk �al��t�r. E�er bir belirtilmi�se ! kullan�larak �al��t�r�lan program, bu belirtilen sat�r(lar)� standart girdi olarak kullan�r ve bu sat�rlar�n yerine �al��t�r�lan program�n standart ��kt�s�n� koyar. "!!" ise, bulunulan sat�r� standart girdi olarak alg�larak program� �al��t�r�r. �rne�in, "!4jsort" bulunulan imle� pozisyonundan itibaren be� sat�r alacak ve sort komutunu �al��t�racakt�r. Bu komutu yazd�ktan sonra, komutu girebilece�iniz bir tek �nlem i�areti olacakt�r.
&
�nceki ":s" komutunu tekrarla.
.
Dosyay� de�i�tiren son komutu tekrarla.
:
Bir EX edit�r� komutu yazmaya ba�la. Kullan�c� bir kez return tu�una bast���nda komut �al��t�r�lacakt�r.(A�a��daki b�l�me bek�n�z.)
@
Belirtilen tampondaki komutu yaz.
U
Bulunulan sat�r�, imle� sat�ra girmeden �nceki haline getir.
m
'm' komutundan sonra sonra belirtilen karakterle, bulundu�un pozisyonu i�aretle.
u
Dosyada yap�lan son de�i�ikli�i geri al. Tekrar 'u' yazmak de�i�ikli�i yeniden yapacakt�r.

EX Komutlar�

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" .

:ab string strings
K�saltma. E�er VI'da string1 ile ilgili bir s�zc�k yaz�l�rsa edit�r kendili�inden onunla ba�lant�l� s�zc�kleri girer. �rne�in, ":ab usa United States of America" k�saltmas� her "usa" girili�inde "United States of America" kelimelerini yazacakt�r.
:map keys new_seq
Haritalama. Bu �zellik bir veya bir dizi tu�u bir veya bir dizi farkl� tu�a haritalar.
:q
VI'dan ��k. E�er de�i�iklik yap�lm��sa edit�r ekrana bir uyar� mesaj� yollayacakt�r.
:q!
De�i�iklikleri kaydetmeden VI'dan ��k.
:s/kal�p/de�i�en_kal�p/se�enekler
Yer de�i�tirme. Bu, belirtilen "kal�p" � "de�i�en_kal�p" �n yerine koyar. Se�enekler olmadan yaln�zca kal�b�n ilk g�r�ld��� yerde de�i�ikli�i yapar. 'g' se�ene�i verilirse kal�b�n her bulundu�u yerde de�i�iklik yap�lacakt�r. �rne�in, ":1,$s/Dwayne/Dwight/g" komutu "Dwayne" bulunan her yere "Dwight" yazacakt�r.
:set [all]
VI ve EX i�in baz� �zelle�tirici komutlar katar. ":set all" komutu b�t�n olas� se�enekleri g�sterir. (Baz� se�enekler i�in, VI'� �zelle�tirme ile ilgili b�l�me bak�n�z.)
:una string
�nceden ":ab" ile tan�mlanm�� k�saltmay� kald�r�r.
:unm keys
":map" taraf�ndan tan�mlanm�� haritaland�rmay� ortadan kald�r�r.
:vi dosya_ad�
Yeni bir dosya yazmaya ba�lar. E�er de�i�iklikler kaydedilmemi�se edit�r size bir uyar�da bulunacakt�r.
:w
Bulunulan dosyay� yaz.
:w dosya_ad�
Tamponun i�eri�ini dosya_ad� ile belirtilen dosyaya yaz.
:w >> dosya
Tamponun i�eri�ini dosya n�n sonuna ekle.
:wq
Tamponun i�eri�ini yaz ve ��k.

 

Kaynaklar

Son g�ncellenme 10 Aral�k 1996, 1996
G�ncellenme 27 Temmuz 1995
G�ncellenme 3 Ekim 1994
Copyright © 1996 University of Hawaii, College of Engineering, Computer Facility
T�m haklar� mahfuzdur.

 

Bu makale i�in g�r�� bildirme ve destek formu

Her makalenin kendi g�r�� bildirim sayfas� vard�r. Bu sayfada bir yorumunuzu iletebilir veya di�er okuyucular�n yorumlar�n� okuyabilirsiniz:
 g�r�� bildirim sayfas�  

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