() İçindeki metni daha önce yazılmış metinle nasıl değiştirebilirim?


9

Metnin daha Fnordönce çekildiğini ve imlecimin satırın üzerinde olduğunu varsayalım B:

M:mock(Baz)

() İçindeki metni önceden alınmış metinle nasıl değiştirebilirim?

Şu anda sık sık hata yaparak:

  • di( aka "içi sil ()"
  • SHIFT + U

yine de silinen metin kayıt defterine taşınacağı için beni tam metinle tekrar bırakır.

Ben sahip olmak istiyorum:

M:mock(Fnord)


1
@Rich Verilen soru, yanık bir kelimenin yerine konulmasıyla ilgili daha genel bir durumu kapsar. Bu sorunun biraz daha spesifik olduğunu ve aynı cevapları çekmediğini düşünüyorum.
k0pernikus

Protip: Kayıtta 0en son çekilen metin bulunur. :h quote0
Peter Rincker

1
Bahsedilen sorunun kabul edilen cevabı ile aynı fikir burada da uygulanabilir. İmleç parantez içindeyken tuşuna basın vi)p. Bu cevaptakiyle aynı, sadece i)metin nesnesi yerine wmetin nesnesiyle,
EvergreenTree

1
@ k0pernikus Korkarım ki buna katılmayı kabul etmemiz gerekecek. Bana göre, her iki sorunun da önemli kısmı, onu uygulamak için kullanılan metin nesnesi değil, değiştirmedir.
Zengin

Yanıtlar:


13

Değiştirilecek metni seçmek için görsel seçimi kullanabilir ve ardından üzerine aşağıdaki gibi yapıştırabilirsiniz:

vi(p

vi(pBaz'ı seçer (parantez içinde olduğu için), üzerine Fnord yapıştırır.

Ancak bu, Baz'ın macundan sonra kayıt defterine çekilmesini sağlar, bu da istediğiniz şey olmayabilir.


10

Bir kayıt belirtmediğiniz sürece, p(veya P) doldurulan son kaydı kullanır. Adsız kayıt "", en son alınmış veya silinmiş metni içerir (başka bir kayıt, örneğin ile belirtilmedikçe "ay), ancak bunlar aynı zamanda "0yanıklar veya "1silme / değişiklikler için de geçerlidir. Kayıtlara bakınız .

Geçen metin ile çekti olsaydı ysen onu yapıştırabilirsiniz 0ile kayıt "0P. Silindiyse, ( şimdi ) 2ile kayıt ile erişebilirsiniz ."2P"1Baz

Alternatif olarak, kayıtlarınızla uğraşmaktan kaçınabilir ve kara delik kaydına"_ silebilirsiniz :

"_di(P

3

Eklentileri yüklemek bir seçenekse , yankstack.vim kullanabilirsiniz . Ardından mevcut iş akışınızı koruyabilirsiniz:

Şu anda sık sık hata yaparak:

  • di (aka "içi sil ()"
  • SHIFT + U
  • Alt + p - önceki sıralamaya geçiş

1

"Fnord" un kayıtlı olduğu varsayılarak yapabilirsiniz (imleç satırın başında) f(ci(<c-r>a

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.