Bölüm 9. Vi Giriş Kipi

Erlend Hamberg

Çeviri: Emir SARI

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 KatePart 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, KatePart’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 AyarlarKatePart Uygulamasını Yapılandır…+DüzenlemeVi 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+Kontrol+VMeta, genelde Windows düğmesidir).

Not

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 Üst Karakter+Y düğmelerine basın.

Bu, Büyük Harf ve Üst Karakter düğmelerinin durumundan bağımsız olarak girilebilen Kontrol düğmesini kullanan komutlar için geçerli değildir. Ancak bazı komutlar, Kontrol 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, Kontrol+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, Kontrol+W düğmelerine basın, bırakın ve sonrasında H düğmesine basın.

Vim ile uyumsuzluklar

KatePart’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.

  • KatePart: U ve Kontrol+R, yinele komutudur.

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

    KatePart’in Vi kipinde U düğmesini yinele olarak kullanmanın nedeni, Kontrol+R kısayolu öntanımlı olarak KatePart’in değiştir işlevi için ayrılmıştır (ara ve değiştir). Öntanımlı olarak Vi kipi, KatePart’in kısayollarını geçersiz kılmaz (bu, AyarlarKatePart Uygulamasını Yapılandır…+DüzenlemeVi 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, KatePart’in içsel geri al sistemiyle düzgün bir biçimde tümleşmez, o yüzden desteklemek kolay değildir.

  • KatePart: 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 KatePart 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.

  • KatePart: Y, satırın sonuna kadar kopyalar.

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

    Vi’nin Y komutu davranışı aslında bir hatadır. Değiştir ve sil komutları için cc/ dd 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 yy ve Y, geçerli satırı kopyalar. KatePart’in Vi Kipi’nde Y, satırın sonuna kadar kopyalar. Bu, Vim belgelendirmesinde daha mantıklı bir davranış olarak açıklanmıştır.

  • KatePart: 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. Vazgeç 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, KatePart’in komut satırını çağırarak, Vi uygulamalarında bulunan birçok komutun yanı sıra KatePart’e özgü bazı komutları çalıştırmanıza olanak tanır. Bu komutlar hakkında daha fazla bilgi için “Düzenleyici Bileşeni Komut Satırı” bölümüne bakın. Kullanmak için : düğmesine basın, komutu girin ve Giriş 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 Kontrol+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

Ekle

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ç

Kontrol+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

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

Kontrol+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

Kontrol+F

Sayfa aşağı

Kontrol+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

Kontrol+S

Görünümü yatay böl

Kontrol+V

Görünümü dikey böl

Kontrol+W, w

Sonraki bölünmüş pencereye geç

Kontrol+W, h

Kontrol+W Sol Ok

Soldaki bölünmüş pencereye geç

Kontrol+W, l

Kontrol+W Sağ Ok

Sağdaki bölünmüş pencereye geç

Kontrol+W, k

Kontrol+W Yukarı Ok

Yukarıdaki bölünmüş pencereye geç

Kontrol+W, j

Kontrol+W Aşağı Ok

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

Sol Ok

Sol

Geri Sil

Sol

j

Aşağı

Aşağı Ok

Aşağı

k

Yukarı

Yukarı Ok

Yukarı

l

Sağ

Sağ Ok

Sağ

Boşluk

Sağ

$

Satır sonu

Son

Satır sonu

0

Satırın ilk karakteri (0. sütun)

Baş

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ı

Kontrol+I

Sonraki konuma atla

Kontrol+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)

Kontrol+Sol Ok

Bir sözcük sola git

Kontrol+Sağ Ok

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ı

Kontrol+D

Girintilemeyi kaldır

Kontrol+T

Girintile

Kontrol+E

Aşağıdan ekle

Kontrol+Y

Sözcük sil

Kontrol+W

Sözcük sil

Kontrol+U

Satırı sil

Kontrol+J

Yeni satır

Kontrol+H

Karakteri geriye doğru sil

Kontrol+Baş

Belgedeki ilk karaktere git

Kontrol+R n

n yazmacının içeriğini ekle

Kontrol+O, komut

Yalnızca bir komut için Normal Kip’e gir

Kontrol+A

Geçerli seçili sayıyı artır

Kontrol+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

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, KatePart Vi Kipi’nin amacı Vim’in özelliklerinin %​100’ünü desteklemek değildir.