Vim - yerinde bir sözcüğü nasıl değiştirirsiniz?


1

Bir kelimeyi yerinde kullanmak istiyorum. Örneğin, bir sözcüğü basıp ywardından başka bir sözcüğe imleci ayarlayarak bastırdıktan sonra, yerine geçmesi için birşeye basmak isterim. (örneğin SOME_KEYw, w'nin gerçekten w olduğu ve SOME_KEY'nin bazı anahtarlar olduğu yerlerde). Ben ediyorum değil takın Moduna geçmek ister.

Çözümle ilgilenmiyorum :%s/oldword/newword/gc. Etkileşimli yerinde yer değiştirmeye ihtiyacım var!

Yanıtlar:


7

Aradığın şey Vim Tip 605 .

İlk sözcüğü birlikte yiwyazarsanız, başka bir sözcüğü ilk sözcükle yazarak değiştirebilirsiniz viwp.

Eğer bırakırsanız i, ywayrıca kelimeden sonra boşluk yank ve bu yapıştırırken çok fazla boşluk olsun. Bu nedenle, kullanmak iseçmek için i nner sözcüğü.


Bu çözümü sevmiyorum, çünkü sezgiseldir; "viwp" yerine "iwvp", "wivp" gibi farklı yazım hataları oluşuyor ... Çok kötü ...
psihodelia

6
Belki de ilk başta vim kullanmamalısınız? Çünkü yazım hataları olabilir?
aralık

Ben yıllardır vim ile birlikteyim. Rene tarafından sunulan bir çözüm daha iyidir çünkü "yiw" yazmayı gerektirmez, sadece normal "yw" = "Yank Word" yazmasını gerektirir. Ancak elbette ki çözümü de kötü, çünkü sadece bir oyuncu değişikliği yapmak için 2 + 5 kez basmak gerekiyor. Çözümünüz 3 + 4 kez basılmasını gerektirir.
psihodelia

2
"Sezgisel" istiyorsanız, yanlış metin düzenleyicisini kullanıyorsunuzdur.
Lawrence Velázquez

3
Bunun oldukça sezgisel olduğunu düşünüyorum. Öncelikle, iç kelimeyi çekiştirin, ardından görsel olarak iç kelimeyi seçin ve yapıştırın. Bu, fareyi kullanarak bazı görsel editörlerle yapacağınız şeydir.
innaM

3

Cw <CTRL-R> 0 istediğine inanıyorum

Bu gibi yazılmalıdır cwctrl+r0.


teşekkürler ama çok rahatsız olduğunu ve -Insert- için baskı moduna geçer
psihodelia

sonra bir harita oluşturun
René Nyffenegger

Ne yapar CTRL+R, 0?
Nathan Fellman

1
CTRL + R sonra yazılan mektup içeriğidir doldurulacak kayıt adıdır bakınız: i_CTRL-R yardım eder.
René Nyffenegger

muhtemelen kelimenin ilk harfinde durması gerektiği de eklenmeli ...
Rook

1

İnnaM'in cevabına dayanarak, daha kısa bir girdi ile:

İlk önce ilk kelimeyi kopyalayın ye.

Ardından, başka bir kelimeyi daha önce kopyalanmış olan bu kelimeyle değiştirin vep.

eHareket kelime [sayısı] dahil sonuna ileri doğru hareket eder. Boş bir satırda durmuyor.


Ne yapar e?
jpaugh

@jpaugh :help, her komutun ne yaptığını söyler, bu yüzden :help ene yaptığını söyler e: [count] dahil sözcüğünün sonuna doğru. Boş bir satırda durmuyor.
nrz

Teşekkürler. Ben vim atm'den uzağım, ama tam bir cevap almak güzel.
jpaugh
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.