üzerine yazmadan bir vim kaydına nasıl satır eklenir


85

Bir sicildeki bir satırı çekmek istiyorum: "{register}yancak daha önce kasada olanın üzerine yazmadan. Sıklıkla bir registerdaki bitişik olmayan satırları kopyalamam gerekir ve bazen kayıtları bir yığın gibi kullanmak isterim.

Misal:

line1
line2
line3

line1İmleci üzerine koyarak ve girerek "ay, sonra devam ederek line3ve yaparak kopyalamak istiyorum "ay. Sonra, yapacağım zaman "ap, HEM line1VE line3yapıştırılır.

Bu eklenti olmadan mümkün mü? eklentilerle mi?


Dosyanın en üstünde tanımların hızlı bir listesini yapmak için harika.
Joe McGrath

Yanıtlar:


133

Adlandırılmış bir kayda eklemek istiyorsanız, ona karşılık gelen büyük harf karakterini kullanın. Örneğinizde:

"ayy
"Ayy
"ap

11
İsimsiz kayda eklemenin olası bir yolu var mı? (asıl olan)
Zaffy


Bir sayfayı ziyaret eden kişileri kurtarmak için ^^, IMO adlı kaydı kullanmak daha kolaydır. "Bir düşünce" yazdığınızda, "A" kaydettirerek bir 'kaydettirmek için
ekleyin

12

MarkB'nin cevabını genişletmek için, yankınız için bir metin bloğu seçmek için işaretçileri de kullanabileceğinizi biliyor muydunuz?

Çekmek istediğiniz bloğun ilk satırına gidin ve işaretleyici olarak bir harf seçtikten sonra işaret komutunu girin, örn.

ma  (entered in command mode, i.e. no colon)

daha sonra çekmek istediğiniz bloğun altına gidin ve komutu girin:

:'a,.ya A

bu komut, a adlı işaretimi içeren satırdan metin bloğunu mevcut satıra kadar alıp arabelleğe a yank anlamına gelir. MarkB ile aynı kurallar geçerlidir, arabelleğin üzerine yazmak için küçük harfli arabellek adı kullanın. Arabelleğe eklemek için büyük harf arabellek adını kullanın. Bu durumda bu, tampon a'nın içeriğine eklenecektir.

NB Markanız için kullanılan 'a'nın, kaydınızı seçmek için kullanılan' a 'ile hiçbir ilgisi yoktur. (AFAIK ancak YMMV)

BTW 'a (kesme işareti a), a işaretini içeren satırı ifade eder. “a (backquote a), ma'ya girdiğinizde imlecin altındaki karakteri ifade eder.

`ad`b (also entered in command mode)

kullanışlıdır, çünkü işaretleyici a ile işaretlenmiş karakter arasındaki metni , işaretçi b ile işaretlediğiniz karakterden hemen önceki karaktere kadar siler .


'a, .ya A işe yarıyor, ancak a -> "a işaretinin önüne geçmeyi denediğimde şöyle diyor: E492: Bir editör komutu değil:“ a, .ya A. a'dan ziyade örnekteki işaretçi için hangi harfin hangi şey olduğu açıktır :)
justin w
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.