25/11/2021

Can’s VIM Cheatsheet

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 :

https://vimawesome.com/

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>
~                                     

Leave a Reply