16 Aralık 2011 Cuma

VIM Editör

Vim – Metin Editörü

VIM (VI improved), linux ve unix kullanan, özellikle programcılar ve sistem yöneticileri tarafından tercih edilen VI editörün gelişmiş versiyonudur.VI editöründen farklı olarak renkledirme özelliği gibi kullanıma daha kolaylık görsel nitelikler ve komutlarıyla VIM oldukça güçlü bir editördür.


VIM değişik kiplere sahiptir ve farklı kiplerde (mode) farklı davranışlar gösterir. Bunlar normal (komut) kipi, yazma kipi ve görünüm kipleridir. Eğer ekranın en altında dosya ismi görünüyor ya da boş ise normal mode, eğer –INSERT– görünüyorsa insert mode (yazma kipi) ve eğer –VISUAL– görünüyorsa visual mode ‘dasınızdır.

Metin yazmaya başlamak için "i" tuşuna basmak yeterlidir. Bu anda ekranın altında –INSERT– çıkmıştır ve sizin "insert mode" da olduğunuzu gösterir. Yazacaklarınız bittiğinde komut (normal) moduna dönmek için "ESC" tuşuna basmanız gerekir. Ekranın sol altındaki –INSERT– kaybolacaktır. Hangi modda olursanız olun, normal moda dönmek için "ESC" basabilirsiniz.

VIM ile imleci hareket ettirmek için klavyedeki yön tuşlarının yanı sıra, daha hızlı kullanmak için, elinizi metin tuşlarından yön tuşlarına ihtiyaç duymadan klavye üzerinde ki  h (sola), j (aşağı), k (yukarı), l (sağa) tuşlarını kullanabilirsiniz.



              ^
              k             
    < h           l >              
              j                    
             v



x imlecin üstünde durduğu karakteri sil
u geri al
U satırı geri al
CRTL-r yeniden yap
ZQ kaydetmeden çık
ZZ dosyayı sakla ve çık
:q! saklamadan çık ( ‘:’ komut modu, ‘q’ editörden çık ve ‘!’ etkili kıl)
i metin yazmaya başla (imleçten bir öne)
a metin yazmaya başla (imleçten bir sonra)
o metin yazmaya başla (alta satır ekleyerek)
O metin yazmaya başla (üste satır ekleyerek)
dd imlecin bulunduğu satırı sil
 
 Yardım : 


:help yardım ekranı


Yardım ekranında h, j, k, l yön tuşlarını kullanarak gezebilirsiniz. Yardım içinde gezerken göreceğiniz |:help| gibi iki boru arasındaki metinler hyperlink ‘dir ve bunların üzerinde CTRL+j basarak ilgili konuya gidebilirsiniz. CTRL+T ile geri dönebilirsiniz.
Help ile çok çeşitli yardımları alabilirsiniz.

:help x x komutu hakkında yardım
:help deleting silme komutu hakkında yardım
:help index yardım indeksi
:help CTRL-A CTRL-A komutu hakkında yardım

Eğitim :


VIM editörünü kendine kendine öğrenmemizi sağlayan terminal komutu

vimtutor

Vimtutor açtığımızda bu dökümanın bir kopyasını çıkarmış olucaktır.Anlatım dili ingilizcedir.

Help ön tanımlı olarak normal mode komutlarını gösterir. Diğer modlar için ilgili ön takılar kullanılmalıdır. Örnek olarak:

:help i_CTRL-H insert mode daki CTRL-H komutu hakkında yardım
:q help ekranından çık

Sayıları Kullanmak

Daha hızlı yazım için sayıları kullanabilirisiniz. Örnek olarak:

5x beş karakter sil
3dd 3 satır sil
4aX<ESC> imleçten sonra dört tane X ekle

w bir kelime ileri git
4w dört kelime ileri git
b bir kelime geri gel
3b üç kelime geri gel

$ satır sonuna git (1$ ile aynı)
2$ alt satırın sonuna git
5$ dört alttaki satırın sonuna git
0 satır başına git
^ boşlukla başlamayan satır başına git

Tek satırda karakter arama:
İleriye doğru : f
Geriye doğru : F
fs bulunduğun satırda ileriye doğru s arar
Fa bulunduğun satırda geriye doğru a arar
5f<boşluk> beş boşluk ileri gider

G dosyanın son satırına gider
1G dosyanın ilk satırına gider
25G dosyanın yirmi beşinci satırına gider
CTRL-G tam olarak bulunduğunuz yeri ekranın altında gösterir
CTRL-U metni yarım sayfa yukarı kaydır
CTRL-D metni yarım sayfa aşağı kaydır

:set number ekranın solunda satır numaraları gösterir
:set nonumber satır numaralarını kaldırır

3dw üç kelime sil
d$ ya da D satır sonuna kadar sil
dG dosya sonuna kadar sil
d0 dosya başına kadar sil

Blok silme:
ma blok başı
blok sonuna git ve
d’a bloğu sil

cc ya da C satırı sil ve insert moduna geç
3cw ya da c3w üç kelime sil ve insert moduna geç
. son silme ve değiştirme işlemini tekrar eder

J bulunduğun satırla bir alttaki satırı birleştir
4J bulunduğun satırla alttaki üç satırı birleştir

~ büyük/küçük harfe değiştir
5~ beş harfi büyük/küçük harfe değiştir

/ ileriye doğru arama (/kelime<ENTER>)
? geriye doğru arama (?kelime<ENTER>)

:set hlsearch aranan metni renklendirir belirginleştirir
:set nohlsearch hlsearch özelliğini kapatır
nohlsearch tüm belirginleştirilmiş metinleri normalleştirir
:set incsearch aranan metni yazdıkça bulur

Bul ve değiştir
:%s /aranankelime/yenikelime dosya içinde bir metni başkasıyla değiştir

yy satır kopyala
3y üç satır kopyala
y$ satır sonuna kadar kopyala
y0 satır başına kadar kopyala
yG dosya sonuna kadar kopyala
y1G dosya başına kadar kopyala

Blok kopyalama:
ma blok başı
blok sonuna git ve
y’a bloğu kopyala

p imleçten sonra yapıştır (daha önce x,d vb ile silinenleri ve kopyalananları yapıştırır, put=paste)
P imleçten sonra yapıştır

Başka dosyalarla çalışmak
:vi dosya.txt yeni bir dosya aç (yazma/okuma)
:write ya da :w çalıştığınız dosyayı saklamak için
:write yenidosya.txt çalıştığınız dosyayı başka isimde saklamak için
:vi! dosya.txt saklamadan yeni bir dosyaya geçmek için
:view dosya.txt salt okunur bir dosya açmak için

birden fazla dosya ile çalışmak:
$ vim -p test1.c test2.c test3.c üç dosyayı sekmelerde aç

dosyalarda dolaşmak:
:next sonraki dosyaya geç
:Next ya da :previous önceki dosyaya geç
:rewind ilk dosyaya geç
:last son dosyaya geç
:args bulunduğun dosya ismini gör
:split ekranı pencerelere böl
:split dosya.txt açık dosyaları kapatmadan yeni dosya.txt ile çalış
:new yeni dosya aç
:buffers açık dosyaları listele
:buffer 5 5 numaralı dosyaya geç
:buffer dosya dosyaya geç

$ vim -o test1.c test2.c test3.c yatay pencerelerde üç dosyayı aç
$ vim -O test1.c test2.c test3.c dikey pencerelerde üç dosyayı aç
CTRL-W <yatay ok tuşları> yatay pencereler arası geçiş
CTRL-W <dikey ok tuşları> dikey pencereler arası geçiş


Visual Mode
v visual moda geç
V satır bazında visual moda geç
CTRL-v diktörtgen bloklama yap
<ESC> normal moda dön


İmleci hareket ettirdiğinizde metin renklenecektir. Bu metinler üzerinde

silme, kopyalama (d,y,p,c,..) gibi işlemler yapabilirsiniz.

> seçilmiş olan bloğu shiftwidth miktarı kadar içerden başlatır
lmetin<ESC> seçilmiş olan bloğu shiftwidth miktarı kadar içerden başlatır


Uyumluluk
Vim, geriye doğru uyumlu olduğundan vi’nin bütün özelliklerini kapsar.

:set compatible vi uyumlu yapmak için
:set uncompatible vi uyumluluğunu kaldırmak için
set compatible? sorgulamak için

Programcılar için
:syntax on metni renklendirir
:set filetype=c standart olmayan dosya uzantılarında
istediğiniz renklendirmeyi kullanmak için
:set shiftwidth=4 kaydırma miktarı
>> metni shiftwidth kadar sağa kaydır
<< metni shiftwidth kadar sola kaydır
:set cindent otomatik hizalama, C, C++, Java gibiler için
:set smartindent otomatik hizalama, { ve } ile
:set autoindent otomatik hizalama, pascal, perl ve python için
=% otomatik olarak hizalama yapar
(imleç { üzerinde olmalıdır)
% eşini bul ( imleç (), {} ya da [] birinin üzerinde olmalıdır)




Kaynak : 

www.vim.org
http://dodoincfedora.wordpress.com/2011/12/14/logs-for-the-fedora-classroom-on-vim/
http://www.yolinux.com/TUTORIALS/LinuxTutorialAdvanced_vi.html


Teşekkür Ederim
Onuralp SEZER
Fedora Ambassador