u – undo
b – bir önceki kelimenin ilk karakterine git.
w – bir sonraki kelimenin ilk karakterine git
e – bir sonraki kelimenin son karakterine git.
I – (büyük i) cümlenin başına git ve insert moda geç.
NOT-1 : mesela 3b yada 2w gibi tek bir seferde multi adım sağlamakta mümkün
dw – bulunduğu yerden sonraki kelimeye kadar silmek için –> delete word
db – bulunduğu yerden bir önceki kelimenin başına kadar silmek için –> delete word
D – imlecin olduğu yerden satır sonuna kadar siliyor.
d/<kelime> – bulunduğumuz yerden belirli bir bölgeye kadar olan herşeyi silmek için. önce “d” ye basıyoruz sonra “/” ve sonrada sileceğimiz yerdeki kelimeyi yazıyoruz. Böylece o kelimeyi “/” gşbş arıyor ilk bulduğuna kadar olan texti siliyor.
h,j,k,l –> ok tuşları gibi harekt için.
yy – tüm satırı kopyalamak için
p – alt satıra yapıştır –> paste — 2p ile mesela alta iki tane yapıştırır.
P – üst satıra yapıştır.
v – visual mod
x – delete
X – backspace
Visual modda seçme işlemi oluyor. burada e,w,b ile seçip y ile kopyalıyoruz. Y ile kopyalayınca otomatik olarak visual moddan çıkıyor.
0 – satırbaşına gidiyor.
c-change — örnekte “ciw” yani change in word ile kelimeyi değiştirdi. otomatik olarak inser moda girdi ve yeni kelimeyi yazdı ve esc e bastı.
sonra baska bir kelimeye gitti “.” noktaya bastı. son verdiği komutlar serisini tekrar etmiş oldu.
r – üerinde bulunduğun karakteri başka karakter ile değiştir. Üstüne gel “r” ye bas sonra yeni karaktere bas.
R – klavyenin insert tuşu gibi oluyor.
r10a – 10 karakteri silip a ile değiştiriyor.
G – son satıra git
t –> şuraya kadar git.Örnek : t1 –> satırda ki 1 stringinin önüne git (satırda 1 varsa)
T –> t nin ters yönü
f –> tam üstüne git. Örnek : f1 –> satırda ki 1 stringinin üstüne git (satırda 1 varsa)
F –> f in ters yönü
Shift-v – visual LINE mode – imleç nerede olursa olsun tüm satırı seçiyor.
>> – ileri tab
<< – geri tab
15>> – 15 satırı aynı anda tablamak için
gg – yazının en başının ilk karakterine git.
gq – her line bir satır olacak şekilde yeninden formatlama. Bazen satırlar terminalin satır genişliğinden daha uzun olunca ister istemez 2-3 satır gibi duruyor. gq ile her satır bir line oluyor düzenliyor.
/ – arama modu. imlecin olduğu yerden ileri doğru aranılan seyi bulunca imleç otomatik oraya gidiyor. bir sonrakine gitmek için “n”, bir öncekine gitmek için “N”.
? – yön olarak /’ın tersi
Aramalar case SENSITIV’dir. case INSENSITIVE olması için \c konur en başa.
/\ckelime
:%s/aranan kelime/onu degistirecek string/s —> aynı sed deki gibi
Register yapılan işlemlerin listesi gibi bişi
herhangi bir string öbeğini özel bir şekilde tutabiliriz.
“ly –> ” register için l L harfine kaydettiğimizi belirtmek için. y copy
:reg [enter] –> registry de ne var ? kontrol etmek istersek
bunu yapıştırmak için istediğimiz yere gidip
“lp –> ” registerdan L harfinde kini Paste et.
m –> mark
ml ile bulunduğumuz noktayı marklayıp L harfine ata. yani orayı bookmark gibi tut.
`l –> mark lanan yere geri git. (back tick ile)
Mesela bir yerden markladığımız yere kadar silmek istiyoruz. d`l
CTRL-V — visual blok kare şeklnde text alanı seçiyor.
{ -paragraf başına gitmek
:set number – satır numaralarını göster
:set nonumber – satır numaralarını gösterme
Split
split –> yatay böl
vsplit –> dikey böl
ctrl-w-crtl-w (iiki defa) ile split edilen alanlar arası geçiş.
:!touch yenimetin.txt —> ! yazacağımı git shell de çalıştır
:edit yenimetin.txt –> seçili spilt alanında diğer dosyayı açar böylece iki doküman ile aynı anda çalışmak mümkün olur.
split lerden çıkmak için
:q veya :wq
Tırnak- parantez içleri
VIM bizim tırnak arası yada herhangi bir tip parantez içinde olduğumuzu biliyor. bu nedenle onun içeriğini değiştirmek istersek
ci –> change in yaparsak içerideki texti siler ve insert moda geçer.
di –> delete in yaparsak içeride ki texti siler.
bunlarda tırnak veya parantez işareti kalır.
ca –> change all dersek içerideki texti ve tırnak veya parantezi de siler ve insert moda geçer.
da –> delete all dersek içerideki texti ve tırnak veya parantezi de siler.
Büyük – Küçük Harf
gUU – satırın tamamını büyük harf yap
guu – satırın tamamını küçük harf yap
Macro
Yapılan işlerin kadedilmesi.
q – ile kayıt başlar ve bitirilir.
Örnek:
- amaç : satır başlarına otomatik – konması.
- q ya bas sonra registerde nereye kaydedeceksen o harfe bas t — altta “recording@t” görülecek.
- “{” ile paragraftan önceki boşluğa “j” ile paragrafın ile harfine git.
- ctrl-v ile “visual block” moda geç.
- paragrafın sonuna git ve I (büyük i) ile insert moduna geç.
- – ekle , space ekle ve esc e bas normal moda geç tüm satır başlarına – eklendiğini gör.
- q ya bas ve bitir.
- bir sonra ki paragrafta çağırmak için @t yeterli
VIM_PLUG
Vim e pluginleri manage etmek için vim-plug var. Kurulumu :
Plugin Kurulumu
~/.vimrc içine
call plug#begin()
2
3 Plug 'tyru/open-browser.vim' " opens url in browser
4 Plug 'http://github.com/tpope/vim-surround' " Surrounding ysw)
5 Plug 'https://github.com/preservim/nerdtree', { 'on': 'NERDTreeToggle' }
6 Plug 'https://github.com/ap/vim-css-color' " CSS Color Preview
7 Plug 'https://github.com/tpope/vim-commentary' " For Commenting gcc & gc
8 Plug 'nathanaelkane/vim-indent-guides'
9
10 call plug#end()
Örnekteki gibi istediğimiz plug-in lerin vim-plug komutlarını yazıyoruz.
sonra
- :source %
- :PluginInstall
diyoruz ve kuruluyor yeniler. (not case sensitive)
Ancak VİM yeniden başladığında bunlar hazır gelir ama aktif gelmez.
Hep akti olsun istersek .vimrc de wim-plug bloğu dışına yazarız.
Plugin bulmak için :
Benim örnek .vimrc dosyam
call plug#begin()
Plug 'tyru/open-browser.vim' " opens url in browser
Plug 'http://github.com/tpope/vim-surround' " Surrounding ysw)
Plug 'https://github.com/preservim/nerdtree', { 'on': 'NERDTreeToggle' }
Plug 'https://github.com/ap/vim-css-color' " CSS Color Preview
Plug 'https://github.com/tpope/vim-commentary' " For Commenting gcc & gc
Plug 'nathanaelkane/vim-indent-guides'
Plug 'vim-airline/vim-airline'
call plug#end()
set background=light
"Nerd tree ac kapa
nnoremap <C-t> :NERDTreeToggle<CR>
~