Tüm tamponu değiştirmenin en etkili yolu?


10

Şu anda, tüm arabelleği başka bir metinle (panoda söyle) değiştirmek için iki benzer yöntemim var.

Yöntem 1:

  1. tüm satırları sil :%d.

  2. metni yapıştır: "+P(veya benzeri:) :put+.

Yöntem # 2:

  1. görsel tüm satırları seçmek: ggVG.

  2. Metni yapıştırın: "+P.

Ancak bunu yapmak için tek komutlu bir yol bulamadım. En yakın bulduğum :changekomut. Ancak kayıtlarla iyi çalışmıyor gibi görünüyor. Tabii ki bazı işlevler oluşturabilir ve / veya bunu yapmak için bir anahtar eşleyebilirim. Ama tüm bu özelleştirmeleri yapmadan önce emin olmak istiyorum:

Bir satır aralığını başka bir metinle değiştirmek için yerleşik bir komut var mı? Mesela, :%replace+tamponun tamamını panodaki metinle değiştirebilir misiniz ?


2
Başımın üstünden bir şey bilmiyorum, ama bunu çok yaparsanız, neden bir eşleme / komut oluşturmuyorsunuz?
Matt Boehm

5
Hmm, 1,$s/\_./\=@+bir çözüm değil: P, :%d|put+daha yakın, ama tam olarak orada değil.
Runium

1
Ben nokta sonra bir yıldız unuttum ... 1,$s/\_.*/\=@+nereye \_.herhangi bir karakterle eşleşir dahil yeni satır.
Runium

2
Eğer Do sahip tampon yeniden veya yeni bir tampon başlatmak için kabul edilebilirdir?
200_success

3
Bence Sukminder :%d|put+tasarıyı yerine getiriyor . Kısa ve akılda kalıcı. Diğer komut, hatırlamak ve doğru şekilde yazmak için çok gizlidir.
Yalan Ryan

Yanıtlar:


2

Sen yapabilirdi ggvG<CTRL-G>görsel tüm tampon seçip girmek için Select-mode. Arabelleği yazmayı planladığınız metinle değiştirmenin en kolay yolu budur. Sorununuzu çözen bir Select-modeharitalama bile yapabilirsiniz :smap.


0

Tüm arabelleği panonuzla değiştirmenin bir yolu harici komutla olabilir, örneğin:

:%!pbpaste
:%!echo my_text

Ayrıca bkz: Mac OS X pano paylaşımı

Veya ikame kullanarak:

:%s/\_.*/\=@+/
:%s/\_.*/my text/

Alternatif :%d|put+olarak (yorumlarda önerildiği gibi) kullanın.

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.