Vim Kayıtları Nedir?

Vim Kayitlari Nedir



Vim kayıtları, alınan, silinen metinleri ve işlemleri depolamak için kullanılan depolama bloklarıdır. Bu kayıtlara sayı, harf veya sembol olabilen etiket adları kullanılarak erişilebilir.

Vim kullanıyorsanız Vim kayıtlarını kullanıyor olmanız gerekir. Metni her kopyaladığınızda/sildiğinizde veya bir komut işlemi gerçekleştirdiğinizde, Vim bu bilgiyi kayıtlarda saklar. Yapıştırdığınızda Vim, verileri kayıt defterinden alır ve ara belleğe çeker. Başka bir deyişle, Vim kayıtları, metni ve komut geçmişini depolamak için bir pano görevi görür.

Vim'in her biri farklı bir amaca hizmet eden toplam 10 farklı kayıt türü vardır. Bu derste Vim kayıtlarını, türlerini ve kullanımını inceleyeceğim.







Not : Bu eğitimde macOS'ta komutlar gerçekleştiriyorum. Vim, platformlar arası bir uygulamadır, dolayısıyla bu kılavuzda bahsedilen komutlar, işletim sisteminden bağımsız olarak tüm Vim sürümleri için geçerli olacaktır.



Vim Kayıt Operatörleri

Vim'deki kayıtlar kopyalama, silme veya değiştirme gibi işlemler kullanılarak kullanılabilir. Her işlemin belirli operatörleri vardır, örneğin metni çekmek için y operatörü kullanılırken metni silmek için d operatörü kullanılır. Yaygın olarak kullanılan operatörlerin listesi aşağıda verilmiştir:

yy Satırı çeker (kopyalar)
gg Satırı siler
cc Satırı siler ve INSERT modunu etkinleştirir
S Karakteri siler ve yerine geçmek için INSERT modunu başlatır
X İmlecin altındaki karakteri siler
q Makro; komut dizisini belirli bir kayda saklar

Saklanan metni yazdırmak için, P veya P operatörler kullanılır:

P Metni imleçten sonra koy (yapıştır)
P Metni imlecin önüne koy

Bu komutlar aynı zamanda sayımı da alır. Örneğin, 10 satırı kopyalamak için şunu kullanın: 10 yıl komutu, çekilen satırın 10 kopyasını yapıştırmaya benzer şekilde kullanın 10p .

Listeleme Kayıtları

Tüm kayıtları listelemek için şunu kullanın: :kayıt olmak veya :reg komutunu kullanın ve belirli bir kaydı listelemek için :reg, burada kayıt adıdır (örneğin, 0-9, a-z).

Aynı şekilde birden fazla kaydın içeriğini listelemek için :reg “ emretmek.

Kayıt listesinde üç sütun göreceksiniz, Ad, Tür ve İçerik . Burada Tür, kayıt türü değil, içerik türü anlamına gelir. Üç türleri İçeriğin içeriği kayıtlarla değiştirilebilir.

  • ben : Çizgisel
  • C : Karakter bazında
  • B : Blok bazında

Örneğin içerik satır bazında işlem kullanılarak kopyalanıyorsa (yy) o zaman içerik türü şöyle olacaktır ben , eğer karakter açısından uygunsa (Evet) o zaman tür olacak C ve içerik blok halinde kopyalanıyorsa (ctrl+v ve y) daha sonra tür şu şekilde gösterilecektir: B .

Vim Kayıtlarıyla Çalışmak

Vim kayıtları, içeriğin yank, delete ve change operatörleri kullanılarak saklanması için kullanılabilir. Saklanan içeriğe put operatörleri kullanılarak erişilebilir.

Metni Kayda Kaydetme
tuşuna bastığınızda yy Bir satırı kopyalamak için tuşuna basın, isimsiz kayıt adı verilen varsayılan kayıt defterine kaydedilecektir. (“”) . Kopyalanan satırı belirli bir kayda saklamak için alıntı (“) ardından kayıt adı ve operatör kullanılır.

'

Örneğin, bir satırı bir kayıt adına kopyalamak için İle kullanmak ' zyy . Benzer şekilde, GÖRSEL modda birden fazla satır seçtiyseniz “ zy satırları z kaydında saklamak için.

Kayda Erişim
Vim kaydına erişmek için alıntı (“) sembol kayıt adıyla birlikte kullanılır ve p/p Şebeke.

'p

Örneğin kayıt adı z ise ve bu kaydın içeriğine erişmek için “ zp NORMAL modda. Ancak aynı işlemi INSERT modunda gerçekleştirmek için şunu kullanın: ctrl+rz .

NORMAL Mod İçeriği saklamak için alıntıyı kullanın (“) , kayıt adı (a-z) , ve operatör (y, yy, d, c veya cc)
p NORMAL Mod Bir kaydın içeriğini yapıştırmak için alıntı kullanın (“) , kayıt adı (a-z) Ve p/p Şebeke
ctrl+r EKLEME Modu Bir kaydın içeriğini yapıştırmak için şunu kullanın: ctrl+r ve kayıt adı (a-z)

Vim kayıtları hakkında temel fikre sahipsiniz. Şimdi her kayıt türü ve kullanımı hakkında derinlemesine bir tartışmaya gireceğim.

Vim Kayıt Türleri

Vim'de belirli amaçlar için tasarlanmış 10 tür kayıt vardır.

  1. İsimsiz Kayıt (“”)
  2. Numaralı Kayıtlar (0-9)
  3. Küçük Silme Kaydı (“-)
  4. Adlandırılmış Kayıtlar (a-z veya A-Z)
  5. Salt Okunur Kayıtlar (“:, “., “%)
  6. Alternatif Dosya Kaydı (“#)
  7. İfade Kaydı (“=)
  8. Seçim ve Bırakma Kayıtları (“*, “+, +~)
  9. Kara Delik Kaydı (“_)
  10. Son Arama Modeli Kaydı (“/)

1. İsimsiz Kayıt (“”)

Kullanılarak alınan veya silinen metni depolamak için Vim'in varsayılan kaydıdır. y, yy, d, dd, s, veya X komutlar.

:reg “” komutu, isimsiz kayıt defterinde saklanan içeriği listelemek için kullanılabilir.

Adsız kayıt içeriğini yapıştırmak için put komutunu kullanın (p veya P) emretmek. Varsayılan olarak, P komutu içerik depolarını isimsiz kayda yerleştirir. Alternatif olarak isimsiz kayıt defterinde saklanan veriler “”p komutu kullanılarak da yapıştırılabilir.

Aşağıdaki örnekte, kullanarak bir satırı kopyaladım. yy komutunu kullanın ve ardından p (5p) ile 5'i sayarak 5 kez koyun.

2. Numaralı Kayıtlar (0-9)

Numaralandırılmış kayıtlar, en son çekilen veya silinen metni saklamak için kullanılır.

Kayıt 0 kayıtlardan farklıdır 1-9 . Kayıt 0 her zaman en son çekilen metni saklar. Örneğin, kullanarak bir çizgiyi çekersem yy komut, satır her ikisinde de saklanacaktır. isimsiz ve 0 Kayıtlar.

Şimdi, kullanarak bir satırı silersem gg , silinen satır isimsiz kayıt defterinde ve kayıt defterinde saklanacaktır 1 son çekilen metin kayıtta kalırken 0 . Böylece, en son çekilen metne kayıt yoluyla her zaman erişilebilir 0 .

Kayıtlar 1-9 son silinen metni saklayın. Örneğin, eğer bir satırı kullanarak silersem gg komutu, silinen metin hem isimsiz hem de kayıt defterinde saklanacaktır. 1 . Kayıt 1 en son silinen metni saklayacaktır. Başka bir satırı silersem, önceden silinen metin kayda taşınacak 2 ve en sonuncusu isimsiz ve kayıt defterinde saklanacak 1 . Temel olarak, numaralı kayıtlar (1-9) Silinen metnin geçmişini saklayın.

Numaralı kaydı bir örnekle anlayalım. Aşağıdaki Vim metin dosyası 10 satırdan oluşmaktadır; hadi çekelim 3. satır kullanarak yy emretmek. Şimdi :reg komutunu kullanarak kayıtların durumunu kontrol edelim.

Çekilmiş hat şu anda isimsiz Ve 0 Kayıtlar. Şimdi tüm satırları teker teker silelim. gg emretmek. Yani, son 10. satır isimsiz kayıt ve kayıt 1'de olacaktır. Aynı zamanda silinen diğer satırlar kayıtlarda saklanacaktır. 2-9 artan sırada.

Bu satırlara şu adresten ulaşılabilir: P emretmek. Örneğin, kayıt metnini koymak için 9 kullanmak “9p . Ayrıca, kayıt değerini koymak istiyorsanız 9 5 kere, kullan “95p .

3. Küçük Silme Kaydı (“-)

Bu kayıt, bir satırdan azsa silinen metni aşağıdaki komutları kullanarak saklar: x, daw, diw, dab, Ve Tekrar . Ayrıca, bazı metinleri silerseniz GÖRSEL seçim modu ve eğer bir satırdan azsa, küçük silme kaydında saklanacaktır. Vim'de satır, noktayla biten tam bir cümle anlamına gelir.

Örneğin aşağıdaki dosyada 3 kelime seçtim işbirliği ve destek 9 numaralı satırdan ve bunları kullanarak sildim D Şebeke. Bir satırdan uzun olmadığından bu seçimi kaydetmek için küçük silme kaydı kullanılacaktır. Kullan :reg “- Küçük silme kaydının içeriğini listeleme komutu.

4. Adlandırılmış Kayıtlar (a-z veya A-Z)

Adlandırılmış kayıtlar kullanıcıya özel metni depolamak için kullanılır. Dolayısıyla, metni özel bir kayıt defterinde saklamak istiyorsanız, o zaman 26 gelen kayıtlar A ile İle kullanılabilir.

Örneğin aşağıdaki dosyada bir satırı “” kullanarak çekiyorum. zyy , metin şu klasörde saklanacaktır: İle aşağıdaki resimde gösterildiği gibi kaydedin.

Küçük ve büyük harf isimli kayıtların farklı amaçları vardır. Örneğin, metin küçük harf kaydına kaydedilmişse, o kayıttaki metni değiştirmek için küçük harf kaydı kullanılacaktır. Ancak metni küçük harf kaydına eklemek için aynı adı taşıyan büyük harf kaydı kullanılacaktır.

Bir örnek üzerinden anlayalım. Aşağıdaki dosyadan 8. satırı kayıt defterine sakladım X “ kullanarak xyy .

Bu satırdan sonra metin eklemek için öncelikle GÖRSEL modda birkaç kelime seçeceğim. Seçilen metni eklemek için kullanacağım “Xy emretmek.

Metni değiştirmek için tekrar “ xyy .

5. Salt Okunur Kayıtlar (., %, 🙂

Vim'in eklenenleri saklayan 3 salt okunur kaydı vardır metin, dosya adı, Ve son yürütülen emretmek.

. Son eklenen metni saklar
% Dosya adını saklar
: Son yürütülen komutu saklar

Önerilen isim olarak bu kayıtlar değiştirilemez ancak kolaylıkla erişilebilir.

Son eklenen metni koymak için '.P emretmek.

Dosya adını yazdırmak için '%P emretmek.

Son komutu yazdırmak için şunu kullanın: ':P.

@: komutu Vim'deki önceki komutu tekrarlamak için kullanılabilir. Aşağıdaki örnekte tuşuna bastığımda ilk 3 satırı sildim. @: 3 satır daha silinir, dolayısıyla önceki komut tekrarlanır.

6. Alternatif Tampon Kaydı (“#)

Alternatif arabellek, geçerli arabellekte açılan bir dosyadır. “# kaydı, arabelleğe alınan dosyanın dosya adını geçerli arabellekte saklar. Aynı tamponda başka bir dosyayı kullanarak açalım. :e ~/.vimrc komutunda geçerli dosya adının şu şekilde olduğunu unutmayın: dosya.txt .

Açılan arabelleği kapatmak için şunu kullanın: :bsil veya :b silme emretmek. Artık, kayıtlı alternatif dosya adını görmek mümkün. “# kayıt olmak.

7. İfade Kaydı (“=)

İfade kaydı, metni depolamak için kullanılmayan, bunun yerine ifadeyi saklayan benzersiz bir kayıttır. Örneğin dosyada birkaç sayı varsa bu sayıları toplamak için Vim ifadeleri kullanılacaktır.

Bu kayda aşağıdakiler kullanılarak erişilebilir: “= NORMAL modda ve ctrl+r = INSERT modunda.

Örneğin, iki sayı arasındaki farkı bulmak için “=” tuşuna bastığınızda durum çubuğunda eşittir işareti görünecektir; şimdi her iki sayıyı da eksi işareti (-) ile yazın ve tuşuna basın. Girmek anahtar. Şimdi farkı yazdırmak için tuşuna basın. P veya şunu kullanın :koymak emretmek.

İfade kaydının değerine erişmek için şunu kullanın: :reg “= emretmek.

Benzer şekilde iki sayının mutlak değerini bulmak için =abs(değer1-değer2) ifade.

Aynı şekilde sistem komutunun çıktısını saklamak için bu (ifade) yazmacı kullanılabilir. Örneğin, kullanacağım dosyanın içeriğini okumak istersem =sistem('kedi ') , Return tuşuna basıldığında çıktının içeriği saklanacaktır. Kullanmak P veya :koymak komutuyla çıktının içeriği ara belleğe yerleştirilebilir.

Vim'de kullanılabilecek bir dizi ifade vardır. Vim ifadeleri hakkında daha fazla bilgi edinmek için şunu kullanın: :yardım ifadesi Ve :yardım ifadesi-sözdizimi komutlar.

8. Seçim ve Bırakma Kayıtları (“*, “+, “~)

Vim'in iki seçim kaydı vardır “* (alıntı yıldızı) ve “+ (quoteplus) GUI'den metni depolamak için kullanılır. Bu kayıtlar, tarayıcılar veya başka herhangi bir kelime işlemci gibi harici programlardan metin kopyalamak için kullanılır.

Örneğin, bir metin seçimini tarayıcıdan kopyalarsanız, ctrl+c veya cmd+c içinde saklanacak “* kayıt olmak. Ancak kullanamazsınız P veya :koymak Bu metni Vim düzenleyicisine yapıştırmak için. Kullanmak '*P harici uygulamalardan kopyalanan metni Vim düzenleyicisine yerleştirmek için.

Her ikisinin de dikkate alınması önemlidir “+ Ve “* kayıtlar panoya bağlı olduğundan her ikisi de (“*p, “+p) metni Vim düzenleyicisine yapıştırmak için kullanılabilir. Benzer şekilde Vim'den metin koymak için şunu kullanın: “*yy bir satırı çekip herhangi bir GUI uygulamasına yapıştırmak için şunu kullanın: ctrl+v veya cmd+v.

Her iki kayıt da varsa şunu unutmamak gerekir: (* ve +) aynı şeyi yapıyoruz, o zaman ne anlamı var? Vim'in iki seçim kaydı vardır “*, “+ aynı işi yapıyor ve bunun nedeni X11 pencere sistemi. X11 metni depolamak için iki yöntem sunar; biri seçimler ve diğeri kesme tamponları . Seçimler uygulamaya aittir ve uygulama kapatıldığında kaybolur; kesme arabellekleri ise metni X sunucusunda depolanır. Bu iki depolama türü için “* ve “+ kayıtları kullanılır. Bu konuda daha fazla bilgi edinmek için şunu kullanın: :yardım x11 seçimi emretmek.

Daha sonra, kayıt bırakma “~ son sürükle ve bırak işlemindeki metni depolamak için kullanılır. Örneğin, harici bir uygulamadan bir metin seçimini bırakırsanız, bu, bırakma kaydında depolanır.

Üç farklı anahtar kullanarak harici uygulamadan yapıştırmayı zor buluyorsanız, adsız kayıtta saklanacak seçimi eşleyebilirsiniz.
vimrc dosya, yer seti pano=adsız içine girin ve dosyayı kaydedin. Artık harici bir uygulamadan kopyaladığınızda, bunu kullanarak kolayca yapıştırabilirsiniz. :koymak komut veya p tuşu.

Not : Bırakma kaydı (~) yalnızca Vim'in +dnd ile derlenmesi durumunda kullanılabilir. Şu anda yalnızca GTK GUI için kullanılabilir.

9. Kara Delik Kaydı (“_)

Vim düzenleyicisinde bir kopyalama veya silme işlemi gerçekleştirirseniz, varsayılan olarak metin kayıtlarda saklanır. Metni bir kayıt defterine kaydetmeden silmek istiyorsanız kara delik kaydını kullanın. Bu kayıt, metin silindiğinde isimsiz kaydı (“”) değiştirmeyecektir.

Örneğin, tüm satırları isimsiz kayıt defterine kaydetmeden silmek istersem, önce tüm satırları kullanarak seçeceğim. ggVG ve ardından tuşuna basın '_D tüm satırları silmek için tuşlarına basın. Benzer şekilde, bir kara deliğe giden tek bir satırı silmek için şunu kullanın: “_dd .

10. Son Arama Modeli Kaydı (“/)

Adından da anlaşılacağı gibi, bu kayıt, son arama modelini kullanarak kaydeder. / veya ? operatörler. Örneğin, eğer arama yaparsanız /Linux , ardından kullanarak '/P Linux kelimesini yapıştıracaktır.

Vim bu kaydı gezinmek için kullanır. N Ve N aramadan sonra tuşlar.

Yazılabilir bir kayıttır, içeriği :let kullanılarak değiştirilebilir. Örneğin, Linux'u bu kayda kaydetmek için şunu kullanın: :let @/=’Linux’.

Kayıtlar ve Makrolar

Vim'de makrolar ayrıca adlandırılmış kayıtlara (a-z) kaydedilir. Makrolardan haberdar değilseniz, makrolar bir kayıt defterinde saklanan ayar komutlarıdır. Bu komut dizisi, yalnızca @ işaretini ve ardından makro kayıt adını kullanarak yürütülebilir. Temel olarak makrolar, birden fazla komutu tekrar tekrar yazma ihtiyacını ortadan kaldırır.

Örneğin, bir makroyu bir kayda kaydetmek için M , Kullanacağım qmq . şuraya taşınmak istiyorum 5 kullanarak satırları aşağıya doğru 5j ve kullanarak satırı silin gg . Kullanmak, qm Makro kaydını başlatmak için tuşuna basın ve ardından tuşuna basın. 5j Ve gg . Şimdi makro kaydından çıkmak için tuşuna basın. Q . Makronun saklanıp saklanmadığını doğrulamak için, :reg “m veya :reg m.

Bu komutları bir makro kaydıyla yürütmek için, :@M emretmek.

Kayıt Temizleme

Bir kaydı temizlemenin doğrudan bir yaklaşımı yoktur çünkü çoğu kaydın temizlenmesine gerek yoktur çünkü eninde sonunda bunların üzerine yazılacaktır. Ancak Vim düzenleyicisinde bir kayıt değerini temizlemek için birkaç teknik vardır.

1. Bir kaydı temizlemek için boş bir makro kaydedin. Örneğin, m kaydını temizlemek için şunu kullanın: qmq .

2. Boş metni şunu kullanarak ayarlayın: izin vermek . Örneğin, m kaydını temizlemek için şunu kullanın: :let @m=”.

3. Kullanın setreg() bağımsız değişken olarak boş bir dizeyle işlev görür. Örneğin, m kaydını temizlemek için şunu kullanın: :setreg('m', ”)'yi çağırın.

Çözüm

Farklı işlevlere sahip 10 farklı kayıt vardır, bu da hatırlamayı neredeyse imkansız hale getirir. Eğer yeni başlayan biriyseniz, yalnızca üç kaydı aklınızda tutmanızı tavsiye ederim, isimsiz kayıt (“”) , numaralı kayıtlar (0-9) ve adlandırılmış kayıtlar (a-z) .

Metni bir kayda depolamak için bir teklif kullanın (“) kayıt adını ve ardından bir operatör komutunu kullanarak imzalayın (y, d, c) . Metni bir kayıttan yapıştırmak için, başına alıntı gelen p veya P komutlarını kullanın. (“) ve adı kaydedin.

Bunu mutlaka duymuşsunuzdur, eğer bir görevi ikiden fazla yapıyorsanız o işi otomatikleştirin. Vim kayıtları, görevleri otomatikleştirmek ve sonuçta deneyimi geliştirmek için son derece yararlı olabilir. Vim kayıtları hakkında daha fazla bilgi edinmek için :yardım kayıtları emretmek.