Kopyalama-Yapıştırma
- Clipboard’a içerik kopyalama: “+y[movement] veya :%y+
- Clipboard’dan içerik yapıştırma: “+p
- Bir dosyanın tüm içeriğini clipboard’a kopyalama: gg”+yG
Case sensitive-Case insensitive
- Kalıcı case insensitive ayarlama: :set igorecase veya :set ic
- Kalıcı case sensitive ayarlama: :set noigorecase veya :set noic
- Tümü küçük harf girilerek yapılan aramalarda case insensitive davranmasını sağlama: :set smartcase
- Case insensitive arama yapma: /search\c
- Case sensitive arama yapma: /search\C
Lowercase-Uppercase
- Bir satırdaki tüm harfleri küçük yapma: :s/\(.*\)/\L\1/
- Bir satırdaki tüm harfleri büyük yapma: :s/\(.*\)/\U\1/
- Bir satırdaki ilk harfi büyük yapma ve diğerlerini küçük yapma: :s/^\(.\)\(.*\)/\u\1\L\2/
- Bir satırdaki kelimelerin ilk haflerini büyük diğerlerini küçük yapma: :s/\<\(\w\)\(\w*\)\>/\u\1\L\2/g
Karışık
- J: mevcut satırı sonraki satırlara birleştirir
- K: linux’de cursor altındaki kelimenin man sayfasını getirir
- set nrformats=: bu vim’i onların başında sıfır olduğuna bakmadan tüm sayıları 10’luk olark algılamasını sağlar
- ,: f{chart}, F{char}, t{char} veya T{char} ile yapılan aramayı tersine doğru tekrarlar
- ;: f{chart}, F{char}, t{char} veya T{char} ile yapılan arama tekrarlar
- F{char}: satırdaki bir karakteri geriye dönük arar
- f{char}: satırdaki bir karakteri ileriye dönük arar
- s: cl gibi cursor altında karakteri siler ve insert moduna geçer
- S: ^C gibi satır başına konumlanır, satırı siler ve insert moduna geçer
- C: c$ gibi mevcut yerden satır sonuna kadar siler ve insert moduna geçer
- vit: açılmış ve kapanmış tag’lar (<div></div> gibi) arasındaki metni seçer
- vim -u NONE -N: vim’i .vimrc’siz(-u NONE) ve vi uyumlu olmadan (-N)
- Tek seferde birden fazla komut çalıştırma: :%s/erman/ERMAN/g | %s/gulhan/GULHAN/g
- :Helptags: dizinler için help tag dosyalarını oluşturur (* örneğin :help ile arattığınız bir şeyi bulmuyorsa bu komut verilmeli)
- V125gg: mevcut satırdan yukarıya doğru 125 nolu satıra kadar görsel olarak seçer
- V125G: mevcut satırdan aşağıya doğru 125 nolu satıra kadar görsel olarak seçer
- :e $MYVIMRC: .vimrc dosyanızı açar
- :e $MYGVIMRC: .gvimrc dosyanızı açar
- :so $MYVIMRC: .vimrc dosyasını tekrar yükler
- ^M karakterlerini temizleme: :%s/<Ctrl-V><Ctrl-M>//g
- Vim’i varsayılan svn editörü olarak atama: export SVN_EDITOR=vim
- Dosyanın karakter kodlamasını öğrenme :set fileencoding
- Kursörün altındaki karakterin Ascii/Unicode değerini öğrenme: ga veya :as veya :ascii
- Vim ile açılan son dosyayı açmak: alias lvim=”vim -c \”normal ‘0\””
- Substitution syntax: :[range]s[ubstitute]/{pattern}/{string}/[flags] [count]
- Tüm satırların başına satır numarası ekleme: :%s/^/\=line(“.”).”- “/g
- Ortam değişkenlerini gerçek değerleri ile değiştirme: :%s/\$USER/\=expand($USER)/g
- Php dosyasında syntax hatası kontrolü: :! php5 -l reports.php
- Bir satırı etiketleme ve ona gitme:
- etiketleme: m{letter} veya :ma {letter}
- gitme: ‘{letter}
- Etiketlenmiş satırı kopyalama: y'{letter}
- Dosyanın adını gösterme: :echo @%
- Açılıp-kapanmış (‘, (, {, [, vs.) karakterlere gitme:
- sonrakine gitme: %
- öncekine gitme: [{char}
- :abbr proglang programming language: Yazarken “proglang” kısaltmalarını otomatik olarak “programming language” olarak çevirir
- U: mevcut satırda değişiklikleri geri alır
- g+, g-: metin değişikliklerini ileri ve geri alır
- :0;/echo: echo geçen ilk satırı bulur
- :/echo/+1: ilk echo geçen satırdan bir sonraki satır
- :.+5: mevcut satırdan sonraki 5. satır
- :,+7s/echo/print: mevcut satırla birlikte sonraki 6 satırıdaki echo’ları print’e çevirir (uzun hali: :.,.+7/echo/print)
- :s/echo/print/ 3: mevcut satırdaki ve sonraki 2 satırdaki echo’ları print’e çevirir
- :1d 5: mevcut ve sonraki 4 satırı siler
- :set paste: clipboard’dakini kopyalarken olduğu gibi kopyalar (kopyalamadan önce bu komut çalıştırılmalıdır [fazladan indent’leri ekleme problemini çözer])
- :edit: mevcut dosyayı tekrar yüklemek için de kullanılır
Window / split / vsplit
- :resize 10: pencereyi 10 satırlık ayarlar
- :res +10: pencerenin yüksekliğine 10 satırlık yükseklik ekler
- :vertical res 10: pencerenin genişliğini 10’luk yapar
- Ctrl-w + / Ctrl-w –: split window yüksekliğine 1 satır ekler/çıkarır
- Ctrl-w > / Ctrl-w <: vsplit window genişliğine 1 satır ekler/çıkarır
- 5 Ctrl-w +: window yüksekliğine 5 satır ekler
- Ctrl-w =: split window genişliklerini eşitler
- Ctrl-w _: vsplit window yüksekliğini maksimum ayarlar
Zoom
- zt: mevcut satırı en üste çeker (zt: zoom top)
- zb: mevcut satırı en alta çeker (zb: zoom bottom)
- zz: mevcut satırı ortaya çeker
* zoom’lama komutları komut modunda yazılmalı