Genel

  • :h[elp] anahtar kelime - kelime için yardımı aç
  • :sav[eas] dosya - dosyayı farklı kaydet
  • :clo[se] - bölümü kapat
  • :ter[minal] - terminal penceresi aç
  • K - imleç altındaki kelime için kılavuzu aç
Tip Ilk Vim komutlarini ogrenmek icin vimtutor calistir

İmleç hareketleri

  • h - imleci sola kaydır
  • j - imleci aşağı kaydır
  • k - imleci yukarı kaydır
  • l - imleci sağa kaydır
  • gj - imleci aşağı kaydır (çok satırlı metin)
  • gk - imleci yukarı kaydır (çok satırlı meting)
  • H - ekranın en üstüne kaydır
  • M - ekranın ortasına kaydır
  • L - ekranın en altına kaydır
  • w - bir sonraki kelimenin başlangıcına atla
  • W - bir sonraki kelimenin başlangıcına atla (kelime noktalama işareti içerebilir)
  • e - bir sonraki kelimenin sonuna atla
  • E - bir sonraki kelimenin sonuna atla (kelime noktalama işareti içerebilir)
  • b - bir önceki kelimenin başlangıcına atla
  • B - bir önceki kelimenin başlangıcına atla (kelime noktalama işareti içerebilir)
  • ge - bir önceki kelimenin sonuna atla
  • gE - bir önceki kelimenin sonuna atla (kelime noktalama işareti içerebilir)
  • % - eşleşen karakterlere kaydır (varsayılan çiftler: '()', '{}', '[]' - daha fazla bilgi için :h matchpairs komutunu kullan)
  • 0 - satır başına atla
  • ^ - satır üzerindeki ilk boşluk olmayan karaktere atla
  • $ - satır sonuna atla
  • g_ - satırın boş olmayan son karakterine atla
  • gg - dokümanın ilk satırına git
  • G - dokümanın son satırına git
  • 5gg or 5G - 5. satıra git
  • gd - lokal deklarasyona git
  • gD - global deklarasyona git
  • fx - sonraki x karakter konumuna atla
  • tx - sonraki x karakter konumunun yanına atla
  • Fx - önceki x karakter konumuna atla
  • Tx - önceki x karakter konumunun yanına atla
  • ; - f, t, F veya T hareketlerini tekrar et
  • , - f, t, F veya T hareketlerini geriye doğru tekrar et
  • } - sonraki paragrafa atla (veya fonksiyon/blok, kod yazarken)
  • { - önceki paragrafa atla (veya fonksiyon/blok, kod yazarken)
  • zz - imleci ekranda ortala
  • zt - imleci ekranın üstüne konumlandır
  • zb - imleci ekranın altına konumlandır
  • Ctrl + e - ekranı bir satır aşağı kaydır (imleci hareket ettirmeden)
  • Ctrl + y - ekranı bir satır yukarı kaydır (imleci hareket ettirmeden)
  • Ctrl + b - tam ekran geri kaydır
  • Ctrl + f - tam ekran ileri kaydır
  • Ctrl + d - yarım ekran ileri kaydır
  • Ctrl + u - yarım ekran geri kaydır
Tip İmleç hareketleri komutlarından önce verilen sayı kadar komut çalıştırılır. Örneğin, 4j 4 satır aşağıya gider.

Ekleme modu - yazma/ekleme modu

  • i - imleçden önce ekler
  • I - satır başına ekler
  • a - imleç sonrasına ekler
  • A - satır sonuna ekler
  • o - şu anki satırın altına yeni satır ekler ekler
  • O - şu anki satırın üstüne yeni satır ekler ekler
  • ea - kelimenin sonuna ekler
  • Ctrl + h - ekleme modunda imleçden önceki karakteri siler
  • Ctrl + w - ekleme modunda imleçden önceki kelimeyi siler
  • Ctrl + j - ekleme modunda yeni bir satır ekler
  • Ctrl + t - ekleme modunda sağa doğru yeni bir girinti ekler
  • Ctrl + d - ekleme modunda bir girinti siler
  • Ctrl + n - insert (auto-complete) next match before the cursor during insert mode
  • Ctrl + p - insert (auto-complete) previous match before the cursor during insert mode
  • Ctrl + rx - insert the contents of register x
  • Ctrl + ox - Temporarily enter normal mode to issue one normal-mode command x.
  • Esc or Ctrl + c - ekleme modundan çıkar

Düzenleme

  • r - tek karakterin yerine koyar
  • R - ESC basılana kadar birden fazla karakter değiştir
  • J - şu anki satırın altına ekler
  • gJ - aşağıdaki satır ile şu anki satırı aralarında boşluk olmadan ekle
  • gwip - reflow paragraph
  • g~ - switch case up to motion
  • gu - change to lowercase up to motion
  • gU - change to uppercase up to motion
  • cc - tüm satırı değiştirir (yerine koyar)
  • c$ or C - satır sonuna kadar değiştirir (yerine koyar)
  • ciw - kelimenin tamamını değiştir
  • cw or ce - kelimenin sonuna kadar değiştirir (yerine koyar)
  • s - karakteri siler ve metin ile değiştirir
  • S - satırı siler ve metin ile değiştirir (cc komutu ile aynı)
  • xp - iki harfi transpoze eder (sil ve yapıştır)
  • u - geri al
  • U - em son güncellenmiş satırı geri al
  • Ctrl + r - ileri al
  • . - son komutu tekrarla

Metin işaretleme (görsel mod)

  • v - görsel modu başlat, satırları işaretle, bir komut gir (y-yank gibi)
  • V - görsel modu tüm satırı işaretleyerek başlatır
  • o - diğer işaretlenmiş alanın sonuna gider
  • Ctrl + v - görsel blok moduna başlar
  • O - bloğun diğer köşesine gider
  • aw - kelimeyi işaretle
  • ab - () olan bloğu seç
  • aB - {} olan bloğu seç
  • at - <> etiketli olan bloğu seç
  • ib - () içerisini bloklar
  • iB - {} içerisini bloklar
  • it - <> etiketli iç bloğu seç
  • Esc or Ctrl + c - görsel moddan çık
Tip Instead of b or B one can also use ( or { respectively.

Görsel komutlar

  • > - metni sağa kaydır
  • < - metni sola kaydır
  • y - işaretlenmiş metni kopyala
  • d - işaretlenmiş metni sil
  • ~ - harfleri büyükse küçük, küçükse büyük yap
  • u - işaretli yazıyı küçük harf yap
  • U - işaretli yazıyı büyük harf yap

Registerlar

  • :reg[isters] - register içeriğini göster
  • "xy - register x içerisini kopyalar
  • "xp - register x'in içeriğini yapıştırır
  • "+y - sistem panosuna kopyala
  • "+p - sistem panoasundan yapistir
Tip Registerlar ~/.viminfo içerisinde depolanıyor ve vim'i yeniden başlattığınızda yüklenecektir
Tip Ozel registerlar:

0 - son kopyalanan
" - isimsiz register, son silinmis veya kopyalanmis
% - gecerli dosya adi
# - alternatif dosya adi
* - sistem panosu icerikleri (X11 primary)
+ - sistem panosu icerikleri (X11 clipboard)
/ - son arama kalibi
: - son komut-satiri
. - son eklenen metin
- - last small (less than a line) delete
= - ifade registeri
_ - kara delik registeri

İşaretler

  • :marks - işaretleri listele
  • ma - A işareti için konum belirle
  • `a - A işaretinin konumuna atla
  • y`a - A işaretinin konumundaki yazıyı kopyala
  • `0 - Vim'den daha önce çıkılan konuma git
  • `" - bu dosyayı en son düzenlediğiniz konuma gidin
  • `. - bu dosyadaki son değişikliğin konumuna git
  • `` - son atlamadan önceki konuma git
  • :ju[mps] - ziplamalarin listesi
  • Ctrl + i - atlama listesinde daha yeni bir konuma git
  • Ctrl + o - atlama listesinde eski konuma git
  • :changes - degisiklik listesi
  • g, - atlama listesinde yeni konuma git
  • g; - atlama listesinde eski konuma git
  • Ctrl + ] - imlec uzerindeki tag'e git
Tip To jump to a mark you can either use a backtick (`) or an apostrophe ('). Using an apostrophe jumps to the beginning (first non-blank) of the line holding the mark.

Macros

  • qa - bir makro kaydet
  • q - makro kaydetmeyi durdur
  • @a - bir makro çalıştır
  • @@ - son çalıştırılan makroyu yeniden çalıştır

Kes ve yapıştır

  • yy - tek satır kopyalar
  • 2yy - 2 satır kopyalar
  • yw - kelime kopyalar
  • yiw - imleç üzerindeki kelimeyi kopyala
  • yaw - imlecin altındaki kelimeyi ve ondan sonraki veya önceki boşluğu kopyala
  • y$ or Y - satır sonuna kadar kopyalar
  • p - imleç sonrasına yapıştırır
  • P - imleç öncesine yapıştırır
  • gp - panoyu imleçten sonraya koy (yapıştır) ve imleci yeni metinden sonra bırak
  • gP - imleçten önce (yapıştır) koy ve imleci yeni metinden sonra bırak
  • dd - satırı (keser) siler
  • 2dd - 2 satırı (keser) siler
  • dw - kelime (keser) siler
  • diw - imlecin altındaki kelimeyi sil (kes)
  • daw - imlecin altındaki kelimeyi ve ondan sonraki veya önceki boşluğu sil (kes)
  • :3,5d - 3'ten 5'e kadar olan satırları sil
Tip Aralığı belirtmek için aşağıdaki karakterleri de kullanabilirsiniz:
e.g.

:.,$d - Geçerli satırdan dosyanın sonuna kadar
:.,1d - Geçerli satırdan dosyanın başına kadar
:10,1d - 10. satırdan dosyanın başına kadar

  • :g/{pattern}/d - kalıbı içeren tüm satırları sil
  • :g!/{pattern}/d - kalıbı içermeyen tüm satırları sil
  • d$ or D - satır sonuna kadar (keser) siler
  • x - karakter (keser) siler

Metni girintile

  • >> - girintile (sağa kaydır) satırı bir shiftwidth kadar
  • << - girintiyi azalt (sola kaydır) satırı bir shiftwidth kadar
  • >% - () veya {} ile bir bloğu girintile (imleç parantezin üzerinde)
  • <% - () veya {} ile bir bloğun girintisini azalt (imleç parantezin üzerinde)
  • >ib - iç bloğu () ile girintile
  • >at - <> etiketleriyle bir bloğu girintile
  • 3== - 3 satırı yeniden girintile
  • =% - () veya {} ile bir bloğu yeniden girintile (imleç parantezin üzerinde)
  • =iB - iç bloğu {} ile yeniden girintile
  • gg=G - tüm tamponu yeniden girintile
  • ]p - yapıştır ve girintiyi mevcut satıra göre ayarla

Çıkış

  • :w - dosyayı kaydet, ama kapatma
  • :w !sudo tee % - dosyayı sudo kullanarak kaydet
  • :wq or :x or ZZ - dosyayı kaydet ve kapat
  • :q - (kaydedilmemiş değişiklikler varsa hata ver) kapat
  • :q! or ZQ - kaydedilmemiş değişiklikleri at ve kapat
  • :wqa - tüm sekmelerde yaz (kaydet) ve çık

Ara ve değiştir

  • /pattern - kalıbı ara
  • ?pattern - geriye doğru kalıbı ara
  • \vpattern - 'çok sihirli' kalıp: alfanumerik olmayan karakterleri düzenli ifade (regex) sembolleri olarak yorumlar (kaçış karakteri gerekmez)
  • n - aynı yönde aramaya devam et
  • N - ters yönde aramaya devam et
  • :%s/old/new/g - dosya boyunca tüm eskileri yenileriyle değiştirir
  • :%s/old/new/gc - dosya boyunca tüm eskileri yenileriyle onaylayarak değiştirir
  • :noh[lsearch] - eşleşen sonuçların vurgusunu kaldır

Birden fazla dosyada ara

  • :vim[grep] /pattern/ {`{file}`} - kalıbı birden fazla dosyada ara
e.g. :vim[grep] /foo/ **/*
  • :cn[ext] - sonraki eşleşmeye atla
  • :cp[revious] - önceki eşleşmeye atla
  • :cope[n] - eşleşmeleri bir pencerede göster
  • :ccl[ose] - close the quickfix window

Sekmeler

  • :tabnew or :tabnew {page.words.file} - yeni sekmede dosya aç
  • Ctrl + wT - kendi sekmeleri içerisinde şu anki bölünmüş pencereye geçer
  • gt or :tabn[ext] - bir sonraki sekmeye geçer
  • gT or :tabp[revious] - bir önceki sekmeye geçer
  • #gt - #. sekmeye geçer
  • :tabm[ove] # - şu anki sekmeyi #. pozisyona taşır (sıralama 0'dan başlar)
  • :tabc[lose] - şu anki sekmeyi ve tüm pencereleri kapat
  • :tabo[nly] - şu anki sekme dışında hepsini kapat
  • :tabdo command - tüm sekmelerde komut çalıştır (örn. :tabdo q - açık tüm sekmeleri kapatır)

Birden çok dosya ile çalışma

  • :e[dit] dosya - yeni tamponda dosyayı düzenle
  • :bn[ext] - bir sonraki tampona geçer
  • :bp[revious] - bir önceki tampona geçer
  • :bd[elete] - tamponu siler ve dosyayı kapatır
  • :b[uffer]# - tampona numarasına göre git
  • :b[uffer] file - tampona dosya adına göre git
  • :ls or :buffers - tüm açık tamponları listeler
  • :sp[lit] dosya - yeni tamponda dosya açar ve pencereyi böler
  • :vs[plit] dosya - yeni tamponda dosya açar ve dikey olarak pencereyi böler
  • :vert[ical] ba[ll] - tüm tamponları dikey pencereler olarak düzenle
  • :tab ba[ll] - tüm tamponları sekmeler olarak düzenle
  • Ctrl + ws - pencereyi böler
  • Ctrl + wv - pencereyi dikey böler
  • Ctrl + ww - pencereyi değiştirir
  • Ctrl + wq - pencereyi kapatır
  • Ctrl + wx - mevcut pencereyi bir sonraki ile değiştir
  • Ctrl + w= - tüm pencereleri eşit yükseklik ve genişlikte yap
  • Ctrl + wh - imleci sol pencereye taşır (dikey bölme)
  • Ctrl + wl - imleci sağ pencereye taşır (dikey bölme)
  • Ctrl + wj - imleci aşağı pencereye taşır (yatay bölme)
  • Ctrl + wk - imleci yukarı pencereye taşır (yatay bölme)
  • Ctrl + wH - mevcut pencereyi en sola tam yükseklikte taşı (en sol dikey pencere)
  • Ctrl + wL - mevcut pencereyi en sağa tam yükseklikte taşı (en sağ dikey pencere)
  • Ctrl + wJ - mevcut pencereyi en alta tam genişlikte taşı (en alt yatay pencere)
  • Ctrl + wK - mevcut pencereyi en üste tam genişlikte taşı (en üst yatay pencere)

Fark (Diff)

  • zf - bir hareket kadar manuel olarak katlama tanımla
  • zd - imleç altındaki katlamayı sil
  • za - imleç altındaki katlamayı aç/kapat
  • zo - imleç altındaki katlamayı aç
  • zc - imleç altındaki katlamayı kapat
  • zr - tüm katlamaları bir seviye aç
  • zm - tüm katlamaları bir seviye kapat
  • zi - katlama işlevini aç/kapat
  • ]c - bir sonraki değişikliğin başlangıcına atla
  • [c - bir önceki değişikliğin başlangıcına atla
  • do or :diffg[et] - farkı al (diğer tampondan)
  • dp or :diffpu[t] - farkı ekle (diğer tampona)
  • :diffthis - mevcut pencereyi fark moduna dahil et
  • :dif[fupdate] - farkları güncelle
  • :diffo[ff] - mevcut pencere için fark modunu kapat
Tip Katlama komutları (örn. za) yalnızca bir seviyede çalışır. Tüm seviyelerde çalıştırmak için büyük harf kullanın (örn. zA).
Tip Dosyalar arasındaki farkları görmek için Vim doğrudan fark modunda başlatılabilir. Bunun için terminalde vimdiff komutu çalıştırılabilir. Hatta bu komut git difftool olarak da ayarlanabilir.