# Vi Giriş Kipi

Vi kipinin amacı, Vim’in tam yerini almak ve Vim’in tüm özelliklerini desteklemek değildir. Amacı, metin düzenlemenin Vim yöntemini - ve öğrenilen Vim alışkanlıklarını — içsel düzenleyici olarak &kappname; metin düzenleyicisini kullanan programlar için kullanılabilir hale getirmektir.

Vi kipi, programla güzel bir şekilde bütünleşmeyi ve Vim’in davranışından mantıklı olduğu yerde sapmayı amaçlamaktadır. Örneğin, ``:w``, &kappname;’in Vi kipinde bir kaydetme iletişim kutusu açacaktır.

Vi Giriş Kipi’ni tüm yeni görünümler için etkinleştirmek üzere Ayarlar&kappname; Uygulamasını Yapılandır… Düzenleme Vi Giriş Kipi bölümüne gidin. Bu sekmede Vi Giriş Kipi için seçenekler koyabilir ve düğme eşlemlerini düzenleyebilirsiniz. Vi Giriş Kipi, aynı zamanda Edit menüsündeki Vi Giriş Kipi ögesinden de açılabilir/kapatılabilir. (Öntanımlı kısayol düğmesi: &Meta;&Ctrl;V — &Meta;, genelde Windows düğmesidir).

Birçok Vi Kipi klavye kısayolu, çoğu &kde; uygulamasını aksine BÜYÜK/küçük harf duyarlıdır. Bu; örneğin, `y` ve `Y` girişlerinin farklı komutlara karşılık geldiği anlamına gelir. `y` (yank-kopyala) komutunu girmek için Büyük Harf düğmesinin kapalı olduğundan emin olun ve Y düğmesine basın. `Y` (tüm satırı kopyala) komutunu girmek içinse &Shift;Y düğmelerine basın.

Bu, Büyük Harf ve &Shift; düğmelerinin durumundan bağımsız olarak girilebilen &Ctrl; düğmesini kullanan komutlar için geçerli değildir. Ancak bazı komutlar, &Ctrl; düğmesinin yanı sıra BÜYÜK/küçük harf duyarlı başka bir düğmenin kullanımını gerektiren bir düğme kombinasyonu gerektirebilir. Örneğin, &Ctrl;W, `h` (sağdaki bölünmüş görünüme geç) kısayolunu kullanmak için Büyük Harf düğmesinin kapalı olduğundan emin olun, &Ctrl;W düğmelerine basın, bırakın ve sonrasında H düğmesine basın.

### Vim ile uyumsuzluklar

&kappname;’in Vi kipinin Vim ile uyumsuz olan yalnızca birkaç özelliği vardır (eksik şeyleri saymazsak). Aşağıda nedenleri ile birlikte sıralanmışlardır.

- &kappname;: `U` ve &Ctrl;R, yinele komutudur.

  Vim: &Ctrl;R normal yinele komutudur; U, bir satırdaki tüm güncel değişiklikleri geri almak için kullanılır.

  &kappname;’in Vi kipinde U düğmesini yinele olarak kullanmanın nedeni, &Ctrl;R kısayolu öntanımlı olarak &kappname;’in değiştir işlevi için ayrılmıştır (ara ve değiştir). Öntanımlı olarak Vi kipi, &kappname;’in kısayollarını geçersiz kılmaz (bu, Ayarlar&kappname; Uygulamasını Yapılandır… Düzenleme Vi Giriş Kipi bölümünde yapılandırılabilir), bundan dolayı bir yinele eyleminin düzenli bir düğme basımı olarak kullanılabilir olması gereklidir. Ek olarak, Vim’deki `U` komutu, &kappname;’in içsel geri al sistemiyle düzgün bir biçimde tümleşmez, o yüzden desteklemek kolay değildir.

- &kappname;: ``print``, Yazdır iletişim kutusunu gösterir.

  Vim: ``print``, verilen erimdeki satırları yazdırır, tıpkı dedesi ed gibi.

  ``:print`` gibi komutlar yalnızca Vi kipinde değil düzenli &kappname; kullanıcıları için de kullanılabilirdir; bu demektir ki ``:print`` komutu Vim’in davranışını taklit etmek yerine yazdırma iletişim kutusunu açar.

- &kappname;: `Y`, satırın sonuna kadar kopyalar.

  Vim: `Y` tüm satırı kopyalar, tıpkı `y` `y` gibi.

  Vi’nin `Y` komutu davranışı aslında bir hatadır. Değiştir ve sil komutları için `c` `c`/ `d` `d` girişleri eylemini geçerli satırda yapar ve `C`/`D` geçerli imleç sütunundan satırın sonuna kadar çalışır. Ancak hem `y` `y` ve `Y`, geçerli satırı kopyalar. &kappname;’in Vi Kipi’nde `Y`, satırın sonuna kadar kopyalar. Bu, Vim belgelendirmesinde daha mantıklı bir davranış olarak açıklanmıştır.

- &kappname;: `O` ve `o`, yeni satırlar [`sayı`] açar ve sizi ekle kipine koyar.

  Vim: `O` ve `o` yeni bir satır açar ve ekle kipinden çıkarken [`sayı`] kadar metin koyar.

  Bu çoğunlukla, Vim IRC kanalında (Libera Chat üzerinde #vim) bu davranış nedeniyle birçok kişinin kafasının karışmasına tanık olmanın bir sonucu olarak yapılmıştır.

### Kip Değiştirmek

- Normal Kip, bir belgede gezinmek veya belgeyi düzenlemek için komutlar girmenize olanak tanır ve öntanımlı kiptir. &Esc; düğmesine basarak başka herhangi bir kipten bu kipe geri dönebilirsiniz.

- Görsel Kip, bir belgedeki metni vurgulamanıza olanak tanır. Normal Kip komutlarının çoğu bu kipte de geçerlidir. Karakterleri seçmek için `v` düğmesine veya satırları seçmek için `V` düğmesine basabilirsiniz.

- Ekle Kipi, belgeyi doğrudan düzenlemenize olanak tanır. `i` düğmesine veya aşağıda listelenen diğer birkaç komuttan birine basarak girebilirsiniz.

- Komut Kipi, &kappname;’in komut satırını çağırarak, Vi uygulamalarında bulunan birçok komutun yanı sıra &kappname;’e özgü bazı komutları çalıştırmanıza olanak tanır. Bu komutlar hakkında daha fazla bilgi için advanced-editing-tools-commandline bölümüne bakın. Kullanmak için : düğmesine basın, komutu girin ve &Enter; ile sürdürün.

### &kate; özellikleriyle tümleştirme

- Fare ile metin seçildiğinde Görsel Kip’e kendiliğinden girilir. Ayrıca Tümünü Seç gibi metni seçen &kate; işlevleri kullanılırken de girilebilir (menüden veya &Ctrl;A aracılığıyla.)

- Vi imleri ve &kate; yer imleri birbirleriyle tümleşiktir. Vi Kipi’nde bir im oluşturulduğunda, onunla eşleşen bir &kate; yer imi de oluşturulur ve Yer İmleri menüsünde görünür. Tam tersi olarak bir &kate; yer imi de oluşturulduğunda eşleşen bir Vi imi, 0. sütünda yerini alır.

### Desteklenen normal/görsel kip komutları

`a` | Ekle Kipi’ne gir, imleçten sonra iliştir
`A` | Ekle Kipi’ne gir, satırdan sonra iliştir
`i` | Ekle Kipi’ne gir, imleçten önce ekle
&Ins; | Ekle Kipi’ne gir, imleçten önce ekle
`I` | Ekle Kipi’ne gir, satırdaki ilk boş olmayan karakterden önce ekle
`gi` | Ekle Kipi’ne gir, son Ekle Kipi’nden çıkış sırasında bırakılan yerden önce ekle
`v` | Görsel Kip’e gir, karakterler seç
`V` | Görsel Kip’e gir, satırlar seç
&Ctrl;v | Görsel Kip’e gir, bloklar seç
`gb` | Görsel Kip’e gir, son seçimi yeniden seç
`o` | Geçerli satırın altında yeni bir satır aç
`O` | Geçerli satırın üstünde yeni bir satır aç
`J` | Satırları birbirlerine kat
`c` | Değiştir: Ardına bir hareket ekle ve Ekle Kipi’ne gir
`C` | Satır sonuna kadar değiştir: Satırın sonuna kadar sil ve Ekle Kipi’ne gir
`cc` | Satırı değiştir: Satırı sil ve Ekle Kipi’ne gir
`s` | Karakteri başkasıyla değiştir
`S` | Satırı başkasıyla değiştir
`dd` | Satırı sil
`d` | Silmek için ardına bir hareket ekle
`D` | Satır sonuna kadar sil
`x` | İmlecin sağındaki karakteri sil
∇ | İmlecin sağındaki karakteri sil
`X` | İmlecin solundaki karakteri sil
`gu` | Küçük harf yapmak için ardına bir hareket ekle
`guu` | Geçerli satırı küçük harf yap
`gU` | BÜYÜK harf yapmak için ardına bir hareket ekle
`gUU` | Geçerli satırı büyük harf yap
`y` | Kopyalamak için ardına bir hareket ekle
`yy` | Satırı kopyala
`Y` | Satırı kopyala
`p` | İmleçten sonra yapıştır
`P` | İmleçten önce yapıştır
`]p` | İmleç girintilendikten sonra yapıştır
`[p` | İmleç girintilendikten önce yapıştır
`r` | İmleçten sonraki karakteri değiştirmek için ardına bir karakter ekle
`R` | Değiştir Kipi’ne gir
`:` | Komut Kipi’ne gir
`/` | Ara
`u` | Geri al
&Ctrl;R | Yinele
`U` | Yinele
`m` | İm koy (sonrasında hareketler tarafından kullanılabilir)
`n` | Sonrakini bul
`N` | Öncekini bul
`>>` | Satırı girintile
`<<` | Satır girintisini kaldır
`>` | Satırları girintile
`<` | Satır girintilerini kaldır
&Ctrl;F | Sayfa aşağı
&Ctrl;F | Sayfa yukarı
`ga` | Karakterin &ASCII; değerini yazdır
`.` | Son değişikliği yinele
`==` | Satırı hizala
`=` | Satırları hizala
`~` | Geçerli karakterin BÜYÜK/küçük harf durumunu değiştir
&Ctrl;S | Görünümü yatay böl
&Ctrl;V | Görünümü dikey böl
&Ctrl; W, `w` | Sonraki bölünmüş pencereye geç
&Ctrl; W, `h` &Ctrl; W&Left; | Soldaki bölünmüş pencereye geç
&Ctrl; W, `l` &Ctrl; W&Right; | Sağdaki bölünmüş pencereye geç
&Ctrl; W, `k` &Ctrl; W&Up; | Yukarıdaki bölünmüş pencereye geç
&Ctrl; W, `j` &Ctrl; W&Down; | Aşağıdaki bölünmüş pencereye geç

### Desteklenen hareketler

Bunlar, Normal veya Görsel kipte bir belgede gezinmek için veya yukarıdaki komutlardan biriyle birlikte kullanılabilir. Bunların önüne, uygun hareketlerden kaç tanesinin yapılacağını gösteren bir sayı gelebilir.

`h` | Sol
&Left; | Sol
&Backspace; | Sol
`j` | Aşağı
&Down; | Aşağı
`k` | Yukarı
&Up; | Yukarı
`l` | Sağ
&Right; | Sağ
&Space; | Sağ
`$` | Satır sonu
&End; | Satır sonu
`0` | Satırın ilk karakteri (0. sütun)
&Home; | Satırın ilk karakteri
`^` | Satırın ilk boşluk olmayan karakteri
`f` | İmlecin sağına gitmek için ardına bir karakter ekle
`F` | İmlecin soluna gitmek için ardına bir karakter ekle
`t` | İmleci önceki karaktere yerleştirerek imlecin sağına gitmek için ardına bir karakter ekle
`T` | İmleci önceki karaktere yerleştirerek imlecin soluna gitmek için ardına bir karakter ekle
`gg` | İlk satır
`G` | Son satır
`w` | Sonraki sözcük
`W` | Boşlukla ayrılan sonraki sözcük
`b` | Önceki sözcük
`B` | Boşlukla ayrılan önceki sözcük
`e` | Sözcüğün sonu
`E` | Boşlukla ayrılan sözcük sonu
`ge` | Önceki sözcüğün sonu
`gE` | Boşlukla ayrılan önceki sözcüğün sonu
`|` | Bu sütuna gitmek için ardına bir sütun numarası ekle
`%` | O ögeye gitmek için ardına bir öge ekle
``` | İm
`‘` | İmin bulunduğu satırın boşluk olmayan ilk karakteri
`[[` | Önceki açılış ayracı
`]]` | Sonraki açılış braketi
`[]` | Önceki kapanış ayracı
`][` | Sonraki kapanış ayracı
&Ctrl;I | Sonraki konuma atla
&Ctrl;O | Önceki konuma atla
`H` | Ekranın ilk satırına git
`M` | Ekranın orta satırına git
`L` | Ekranın son satırına git
`%`yüzde`` | Belgenin belirtilen yüzdesine git
`gk` | Görsel olarak bir satır yukarı git (devingen sözcük kaydırma kullanılırken)
`gj` | Görsel olarak bir satır aşağı git (devingen sözcük kaydırma kullanılırken)
&Ctrl;&Left; | Bir sözcük sola git
&Ctrl;&Right; | Bir sözcük sağa git

### Desteklenen metin nesneleri

Bunlar, bir belgenin belirli bölümlerini seçmek için kullanılabilir.

`iw` | İçteki sözcük: Boşlukla birlikte sözcük
`aw` | Bir sözcük: Boşluk içermeyen sözcük
`i"` | Önceki çift tırnaktan (`"`) sonraki çift tırnağa, tırnak işaretleri içerilir
`a”` | Önceki çift tırnaktan (`"`) sonraki çift tırnağa, tırnak işaretleri içerilmez
`i'` | Önceki tek tırnaktan (`"`) sonraki tek tırnağa, tırnak işaretleri içerilir
`a'` | Önceki tek tırnaktan (`"`) sonraki tek tırnağa, tırnak işaretleri içerilmez
`i(` | Önceki açılış parantezinden [`(`] sonraki kapanış parantezine [`)`], parantez içerilir
`a(` | Önceki açılış parantezinden [`(`] sonraki kapanış parantezine [`)`], parantez içerilmez
`i[` | Önceki açılış köşeli ayracından (`[`) sonraki kapanış köşeli ayracına (`]`), ayraçlar içerilir
`a[` | Önceki açılış köşeli ayracından (`[`) sonraki kapanış köşeli ayracına (`]`), ayraçlar içerilmez
`i{` | Önceki açılış süslü ayracından (`{`) sonraki kapanış süslü ayracına (`}`), ayraçlar içerilir
`a{` | Önceki açılış süslü ayracından (`{`) sonraki kapanış süslü ayracına (`}`), ayraçlar içerilmez
`i<` | Önceki açılış açılı ayracından (`<`) sonraki kapanış açılı ayracına (`>`), ayraçlar içerilir
`a<` | Önceki açılış açılı ayracından (`<`) sonraki kapanış açılı ayracına (`>`), ayraçlar içerilmez
`i`` | Önceki ters tırnaktan (```) sonraki ters tırnağa, tırnaklar içerilir
`a`` | Önceki ters tırnaktan (```) sonraki ters tırnağa, tırnaklar içerilmez

### Desteklenen Ekle Kipi komutları

&Ctrl;D | Girintilemeyi kaldır
&Ctrl;T | Girintile
&Ctrl;E | Aşağıdan ekle
&Ctrl;Y | Sözcük sil
&Ctrl;W | Sözcük sil
&Ctrl;U | Satırı sil
&Ctrl;J | Yeni satır
&Ctrl;H | Karakteri geriye doğru sil
&Ctrl;&Home; | Belgedeki ilk karaktere git
&Ctrl;R `n` | `n` yazmacının içeriğini ekle
&Ctrl;O, `komut` | Yalnızca bir komut için Normal Kip’e gir
&Ctrl;A | Geçerli seçili sayıyı artır
&Ctrl;X | Geçerli seçili sayıyı azalt

### Virgül Metin Nesnesi

Bu nesne Vim’de yoktur. Virgül Metin Nesnesi, C benzeri dillerdeki ve diğer virgülle ayrılmış listelerdeki parametre listelerini değiştirmeyi kolaylaştırır. Temel olarak iki virgül veya virgül ile parantez arasındaki alandır. Çizimde gösterilen satırda, bu metin nesnesinin yayılabileceği üç erim vurgulanmıştır.

Bir Virgül Metin Nesnesi örneği Bir Virgül Metin Nesnesi örneği

Virgül metin nesnesi erimleri. Örneğin, imleç `arg2` üzerindeyse `ci` komutunu girmek (içteki virgülü değiştir), `double arg2` ögesini siler ve imleci iki virgülün arasına yerleştirir ve Ekle Kipi’ne geçer. Bir işlevin parametrelerini değiştirmenin pek kolay bir yoludur.

### Eksik Özellikler

Daha önce de belirtildiği üzere, &kappname; Vi Kipi’nin amacı Vim’in özelliklerinin %​100’ünü desteklemek değildir.