THT DUYURU

chat
Linux Linux İle İlgili Bilgi Paylaşım Platformu

takipci
chat
Seçenekler

[FULL] VIM editör ●Stajyer Asistan Kulübü

M R X - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
01/2018
Nereden:
<CMD>
Mesajlar:
910
Konular:
192
Teşekkür (Etti):
134
Teşekkür (Aldı):
253
Ticaret:
(0) %
7
874
03-06-2018 03:58
#1
[FULL] VIM editör ●Stajyer Asistan Kulübü


.




VIM nedir?
VIM komutları (HEPSİ)








VİM açık kaynak metin düzenleme programıdır. UNIX sistemlerinde dağıtılan VI metin düzenleyicisinin geliştirilmiş halidir. 991 yılında Bilgisayar programcısı

" Bram Moolenaar "



tarafından yayınlandı. Vim açık kaynak bir yazılım olduğundan dolayı; Linux kullanıcıları tarafından çok beğenilmiştir
Sadece Linux ile yazılım geliştiren kullanıcılara aşkın değil hertürlü metin düzenlemesi içinde kullanılır.





VİM metin düzenleyicisi 3 mod 'ta çalışmaktadır;

- Komut modu
- Görsel modu
- Düzenleme modu





VİM' in dosya uzantısı ;
Kod:
.vimrc



VİM 'de yazma moduna geçiş için;
Kod:
  
        i 	                bulunulan yerde yazma moduna geçer (i=insert)
	I			satır başına gidip yazma moduna geçer (I=insert)
	a			bir sonraki yerden bir karakter sağa kayıp yazma moduna geçer (a=append)
	A			satır sonuna gidip yazma moduna geçer (A=append)
	o			aşağıya yeni bir satır ekleyip yazma moduna geçer
	O			yukarıya bir satır ekleyip yazma moduna geçer
	<ESC>			yazma modundan çıkar




Dosya içi komutlar

Kod:
	h			sola bir karakter
	l			sağa bir karakter
	j			aşağı satıra
	k			yukarı satıra
	3j			3 satır aşağıya
	H			imleç sayfa başına (high)
	3H			imleç sayfa başından 3 satır aşağıya
	L			imleç sayfa sonuna (low)
	3L			imleç sayfa sonundan 3 satır yukarıya
	M			imleç sayfa ortasına
	gg			dosya başına
	GG			dosya sonuna
	3G			3. satıra
	:3			3. satıra
	<CTRL>e			dosyayı yukarı doğru kaydır (imlecin yeri değişmez)
	<CTRL>y			dosyayı aşağıya doğru kaydır (imlecin yeri değişmez)
	zt			bulunulan satırı, sayfanın başına getir (imlecin yeri değişmez) (t=top)
	zb			bulunulan satırı, sayfanın sonuna getir (imlecin yeri değişmez) (b=bottom)
	zz			bulunulan satırı, sayfanın ortasına getir (imlecin yeri değişmez)
	%			parantezin eşini bulur ve imleci oraya götürür
	''			imlecin bir önceki konumuna geri döner
	'.			en son değişikliğin yapıldığı satıra geri döner
	f<harf>			satırda, sağa doğru harfin bulunduğu ilk konuma gider
	F<harf>			satırda, sola doğru harfin bulunduğu ilk konuma gider
	ma			imlecin bulunduğu yeri a noktası olarak işaretle (a..z, A..Z, 0..9) (m=mark)
	'a			a noktasının bulunduğu satıra git
	`a			a noktasına git
	:marks			işaretli noktaların listesini gösterir




Silme-Kopyalama-Yapıştırma komutları;

Kod:
x veya dl		karakteri sil (d=delete) (l=letter)
	X			önceki karakteri sil
	dw			bir sonraki kelimeye kadar sil (w=word)
	de			kelimenin sonuna kadar sil (e=end)
	db			kelimenin başına kadar sil (b=beginning)
	dd			satırı sil
	d'a			a noktasının bulunduğu satıra kadar sil
	d`a			a noktasına kadar sil
	d^			bulunulan yerden, satır başına kadar sil (^=satır başı)
	d$			bulunulan yerden, satır sonuna kadar sil ($=satır sonu)
	D			bulunulan yerden, satır sonuna kadar sil ($=satır sonu)
	3dd			3 satır sil
	yl			harfi kopyala (y=yank) (l=letter)
	yw			bir sonraki kelimeye kadar kopyala (w=word)
	ye			kelimenin sonuna kadar kopyala (e=end)
	yb			kelimenin başına kadar kopyala (b=beginning)
	yy			satırı kopyala
	y'a			a noktasının bulunduğu satıra kadar kopyala
	y`a			a noktasına kadar kopyala
	y^			bulunulan yerden, satır başına kadar kopyala (^=satır sonu)
	y$			bulunulan yerden, satır sonuna kadar kopyala ($=satır sonu)
	p			bir sonraki pozisyona yapıştır (p=paste)
	P			bir önceki pozisyona yapıştır (P=paste)
	3p			3 kere yapıştır
	set paste		formatlanmış bir metni vim'e yapıştırmadan önce otomatik girintileme yapmasın diye
	set nopaste		yapıştırma işlemi bittikten sonra




Dosya veya Shell 'den veri alma;
Kod:
:r dosya		dosyanın içeriğini imleçten sonraki kısma yazar
	:r !komut		komutun çıktısını imleçten sonraki kısma yazar




Depo kullanarak Copy-Paste
Kod:
	"add			silinen satırı 'a' kodlu depoya koy
	"ayy			kopyalanan satırı 'a' kodlu depoya koy
	"ap			'a' kodlu depodaki veriyi yapıştır
	:reg a			'a' kodlu depoda ne olduğunu gösterir (reg=register)
	:reg abcd		a, b c, d depolarında ne olduğunu gösterir
	:reg			bütün depoları gösterir

	a..z, A..Z, 0..9	depo kodu olarak bu karakterlerden biri kullanılabilir
				bütün kopyalama ve yapıştırma komutları, depolu biçimde de kullanılabilir




Görsel mod 'ta Copy-Paste
Kod:
	v			görsel moda geç (v=visual)
	<CTRL>v			görsel modda blok seçme
	d			seçimi sil (d=delete)
	c			seçimi sil ve yazma moduna geç (c=cut)
	y			seçimi kopyala (y=yank)
	p			seçimi yapıştır (p=paste)




Kesme-Degiştirme
Kod:
	r<harf>			imlecin bulunduğu harfi sil ve yerine, <harfi> yaz (r=replace)
	R			yazma moduna geç ve eski metnin üstüne yaz (R=replace)
	cw			bir sonraki kelimeye kadar olan kısmı sil ve yerine, yazılanları yaz (c=cut) (w=word)
	ce			kelimenin sonuna kadar olan kısmı sil ve yerine, yazılanları yaz (e=end)
	cb			kelimenin başına kadar olan kısmı sil ve yerine, yazılanları yaz (b=beginning)
	c'a			a noktasının bulunduğu satıra kadar sil ve yerine, yazılanları yaz
	c`a			a noktasına kadar sil ve yerine, yazılanları yaz
	c^			satırın başına kadar olan kısmı sil ve yerine, yazılanları yaz (^=satır başı)
	c$			satırın sonuna kadar olan kısmı sil ve yerine, yazılanları yaz ($=satır sonu)
	C			satırın sonuna kadar olan kısmı sil ve yerine, yazılanları yaz ($=satır sonu)
	3cw			3 kelimeyi sil ve yerine, yazılanları yaz




Arama ve Otomatik değiştirme
Kod:
	*			imlecin üzerinde bulunduğu kelimenin tekrarını sonra doğru arar
	#			imlecin üzerinde bulunduğu kelimenin tekrarını başa doğru arar
	/sablon			sablonu sona doğru ara
	?sablon			sablonu başa doğru ara
	n			bir sonrakini bul
	N			bir öncekini bul
	:s/sablon/yeni		sablona uyan ilk metni, yenisi ile değiştir
	:s/sablon/yeni/g	satırda, sablona uyan metinleri, yeni ile değiştir (g=global)
	:%s/sablon/yeni/g	dosyada, sablona uyan metinleri, yeni ile değiştir 
	:%s/sablon/yeni/gc	dosyada, sablona uyan metinleri, yeni ile değiştir ama önce onay al (c=confirm)
	şablonda ^		satır başı
	şablonda $		satır sonu
	şablonda [abc]		bu karakterlerden biri...
	şablonda [^abc]		bu karakterlerden hiçbiri...
	şablonda .		herhangi bir karakter
	şablonda *		herhangi bir karakter dizisi
	q/ veya /<CTRL>f	ileriye doğru yapılmış aramaların listesini verir
	q? veya ?<CTRL>f	geriye doğru yapılmış aramaların listesini verir
	:set is			sablon yazılırken aramaya başla (is=instant search)
	:set hls		sablona uyanları belirginleştir (hls=highlighted search)
	:set nohls		hls modunu kapat (nohls=no highlighted search)
	:set ic			büyük-küçük harf ayırt etmeden arar (ic=ignore case)




Undo-Redo
Kod:
	:undolist
	u			yapılan işlemi geri al (u=undo)
	U			satırı, imlecin satıra geldiği andaki şekle geri döndür (U=undo)
	:u[ndo]
	:earlier

	<CTRL>r			undo işlemini geri al (r=redo)
	:red[o]
	:later
	3u			son 3 değişikliği geri al




Biçimlendirme
Kod:
	:set expandtab		tab karakterlerini 
	:retab			boşluk karakterine çevirir

	:set noexpandtab	uygun sayıda boşluk karakterini
	:retab			tab karakterine çevirir

	>>			satırı bir kaydırma aralığı kadar sağa kaydırır
	<<			satırı, bir kaydırma aralığı kadar sola kaydırır
	> <sağ ok tuşu>		bulunulan satırı kaydırır
	> <yukarı ok tuşu>	bulunulan satır ve bir üst satırı kaydırır
	> <aşağı ok tuşu>	bulunulan satır ve bir alt satırı kaydırır
	3>>			3 satırı birden bir kaydırma aralığı kadar kaydırır
	3> <yukarı ok tuşu>	bulunulan satır dahil yukarı doğru 3 satırı sağa kaydırır
	:set sw=4		kaydırma aralığının kaç karakter uzunluğunda olacağını belirtir (sw=shift width)
	:set tabstop=8		tab ile kaç karakter gidileceğini belirler
	:set nu			satır numaralarını gösterir (nu=number)
	:set nonu		satır numaralarını gizler (nonu=no number)
	~			imlecin üstünde bulunduğu karakteri büyükse küçük, küçükse büyük yapar 
	:TOhtml			metni üretecek HTML kodunu üretir, renklendirmeleri dikkate alır






Yazma-İşlem kolaylaştırıcılar
Kod:
	<CTRL>l			*******
	:set list/nolist	görünmeyen karakterleri göstermek veya göstermemek için...
	ga veya :as		imlecin altındaki karakterin, karakter kodunu gösterir
	<CTRL>n			yazma modundayken kelimeyi, var olan kelimelere bakarak tamamlar (n=next)
	<CTRL>p			yazma modundayken kelimeyi, var olan kelimelere bakarak tamamlar (p=previous)
	.			son yapılan işlemi tekrarlar
	q: veya :<CTRL>f	kullanılmış komutların listesini verir
	q/ veya /<CTRL>f	ileriye doğru yapılmış aramaların listesini verir
	q? veya ?<CTRL>f	geriye doğru yapılmış aramaların listesini verir
	<CTRL>c <CTRL>c		komut/arama listesinden çıkmak için
	<CTRL>x			imleçin üstünde bulunduğu sayıyı bir azaltır
	<CTRL>a			imleçin üstünde bulunduğu sayıyı bir çoğaltır
				screen altındayken <CTRL>aa
	:set foldmethod=indent	indent'lere göre blokları belirler (Python kodu için...)
	zo			bloğu açar
	zO			bütün blokları açar
	zc			bloğu kapatır
	zC			bütün blokları kapatır
	za			açıksa, kapalı; kapalıysa, açık hale getirir
	zj			sonraki bloğa geçer
	zk			önceki bloğa geçer
	<CTRL> x o		omnifunc tanımlanmış dosya biçimleri için kod tamamlar




Macro
Kod:
	q			ilk seferde makro bloğuna gider
				bundan sonra girilen ilk harf makronun adı olur
				bundan sonra yapılan bütün işlemler makro bloğuna kaydedilir
				tekrar q'ye basıldığında makro kaydı sona erer
	@<harf>			makroyu çalıştırır
	"<harf>p		makro içeriğini metin olarak sayfaya yazar
				~/.viminfo dosyasından da makro kayıtları görünebilir




Dosya İşlemleri
Kod:
 :new			yeni dosya oluştur
	:S			dosya tarayıcısını aç. Seçimler için <ENTER> kullan
	:e dosya		var olan bir dosyayı aç (e=edit)
	:w			yapılan değişiklikleri kaydet (w=write)
	:w dosya		yapılan değişiklikleri 'dosya' adı ile kaydet (w=write)
	:wq			yapılan değişiklikleri kaydedip çık (w=write) (q=quit)
	:q!			yapılan değişiklikleri kaydetmeden çık (q=quit)
	:Nread scp://kullanici@12.12.12.12/klasor/dosya		dosyaya scp ile uzaktaki makineden açar (Nread=network read)
	:Nwrite scp://kullanici@12.12.12.12/klasor/dosya	dosyayı scp ile uzaktaki makineye kaydeder (Nwrite=network write)




Birkaç dosya ile aynı anda çalışma.
Kod:
 dosyayı aç (e=edit)
	:bn			bir sonraki tampon belleğe geç
	:bp			bir önceki tampon belleğe geç
	:wn			değişiklikleri kaydet ve bir sonraki tampon belleğe geç
	:wp			değişiklikleri kaydet ve bir önceki tampon belleğe geç
	:bn!			değişiklikleri kaydetmeden bir sonraki tampon belleğe geç
	:b3			3 numaralı tampon belleğe geç
	:bd			tampon bellegi siler
	:bd3			3 numaralı tampon belleği siler
	:set hidden		bir tampon bellekten diğerine, değişiklikleri kaydetmeden geçmeye izin verir




Tablar ile çalışma
Kod:
 :tabedit		yeni tab oluşturur
	:tabnew dosya_adi	yeni tab oluşturur ve dosyayı bu tab'da açar
	:tabc			tab'ı kapatır
	:tabmove		tab'ı taşı
	gt			sonraki tab'a git
	gT			önceki tab'a git






VİM Sık kullanılan Komutları
Kod:
:syntax on
dosya tipine göre renklendirme/biçimlendirme yapar

Kod:
:set is
arama şablonu yazılırken bulmaya başlar (is= instant search)

Kod:
:set ic
büyük-küçük harf ayırt etmeden arar (ic=ignore case)

Kod:
:set hls
metin içinde arama şablonuna uyan bölümleri belirginleştirir (hls=highlighted search)

Kod:
:set hidden
bir tampon bellekten diğerine, değişiklikleri kaydetmeden geçmeye izin verir

Kod:
:set encoding=utf-8
default encoding'i utf-8 yapar

Kod:
:!chardet %
encode durumunu sorgular

Kod:
:set bg=dark
arkaplani koyulaştırır. Özellikle SSH ile bağlanılan makineler için iyi sonuç veriyor.

Kod:
:set tabstop=8
tab uzunluğu

Kod:
:set shiftwidth=4
Görsel modda < ve > karakterlerine basıldığında bloğun ne kadar kaydırılacağı

Kod:
:set softtabstop=4
boşluklardan oluşan feyk tabın uzunluğu

Kod:
:set expandtab
tab tuşuna basıldığında boşluk karakterlerinden oluşan feyk tab kullanılmasını sağlar

Kod:
:set autoindent
alt satıra geçirdiğinde, üst satırın girintisine uyulur

Kod:
:set list
unprintable karakterleri gösterir

Kod:
:set listchars==tab:»·,trail:·
tab karakteri için '»', tab boşlukları için '.', satır sonundaki fazlalık boşluklar için '.' gösterir

Kod:
:autocmd InsertEnter * set cursorline cursorcolumn
Yazma moduna geçince imlecin bulunduğu satırın altı çizilir Bulunulan kolon renklendirilir

Kod:
:autocmd InsertLeave * set nocursorline
Komut moduna geçince cursorline ve cursorcolumn iptal edilir

Kod:
:highlight cursorline cterm=none ctermfg=7 ctermbg=4
cursorline özelliği açıksa, bulunulan satırda mavi üzerine sarı yazı kullanılır

Kod:
:highlight cursorcolumn cterm=none ctermfg=7 ctermbg=
cursorcolumn özelliği açıksa, bulunulan kolonda mavi üzerine sarı yazı kullanılır

Kod:
:set foldmethod=indent
Girintilere göre bloklama yapar. Özellikle Python kodlarken kullanmakta fayda var.

Kod:
:map <F8> :!python % <enter>
F8 tuşunu, "!python %" komutunu çalıştıracak şekilde ayarlar











Saygılarımla; M R X
---------------------

Web Developer PHP - LARAVEL
Konu M R X tarafından (03-06-2018 04:00 Saat 04:00 ) değiştirilmiştir.
CH4M3, AnTiFriZz, CyberXhackk Teşekkür etti.
AROCKS - ait Kullanıcı Resmi (Avatar)
Tamamen Forumdan Uzaklaştırıldı
Üyelik tarihi:
03/2018
Mesajlar:
769
Konular:
40
Teşekkür (Etti):
21
Teşekkür (Aldı):
393
Ticaret:
(0) %
03-06-2018 04:00
#2
İlk defa duydum,açıklayıcı olmuş elinize sağlık.
CH4M3 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2017
Nereden:
php island
Mesajlar:
1.844
Konular:
97
Teşekkür (Etti):
536
Teşekkür (Aldı):
575
Ticaret:
(0) %
03-06-2018 04:56
#3
Ellerine sağlık, detaylı bir anlatım olmuş
M R X - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
01/2018
Nereden:
<CMD>
Mesajlar:
910
Konular:
192
Teşekkür (Etti):
134
Teşekkür (Aldı):
253
Ticaret:
(0) %
03-06-2018 04:57
#4
Alıntı:
AROCKS´isimli üyeden Alıntı Mesajı göster
İlk defa duydum,açıklayıcı olmuş elinize sağlık.
Teşekkürler!


Alıntı:
CH4M3´isimli üyeden Alıntı Mesajı göster
Ellerine sağlık, detaylı bir anlatım olmuş
Saolun binbaşım
---------------------

Web Developer PHP - LARAVEL
benbozo - ait Kullanıcı Resmi (Avatar)
İstihbaratçı
Üyelik tarihi:
01/2018
Mesajlar:
375
Konular:
36
Teşekkür (Etti):
61
Teşekkür (Aldı):
102
Ticaret:
(0) %
03-06-2018 05:52
#5
Detaylı anlatım için teşekkürler. Gayet yararlı bir bilgi, eline emeğine sağlık.
---------------------
Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

Mustafa Kemal Atatürk
20 Ekim 1927
Hack By Encore - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2018
Nereden:
TürkHackTeam
Mesajlar:
532
Konular:
16
Teşekkür (Etti):
25
Teşekkür (Aldı):
75
Ticaret:
(0) %
03-06-2018 06:15
#6
Detaylı anlatım güzel olmuş
---------------------
Reklam yapmakta değil, site hacklemekte iyiyiz!

[Turk Hack Team]
AnTiFriZz - ait Kullanıcı Resmi (Avatar)
Tamamen Forumdan Uzaklaştırıldı
Üyelik tarihi:
02/2016
Nereden:
ON/C
Yaş:
25
Mesajlar:
1.695
Konular:
343
Teşekkür (Etti):
231
Teşekkür (Aldı):
667
Ticaret:
(0) %
04-06-2018 23:49
#7
eline sağlik babacan.
CyberXhackk - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2016
Nereden:
#include<>
Mesajlar:
3.077
Konular:
244
Teşekkür (Etti):
841
Teşekkür (Aldı):
791
Ticaret:
(0) %
05-06-2018 00:11
#8
Ellerine sağlık süper (:
--------------------- Linux'a Dair Herşey..

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler