“Dap” her şeyi siliyor mu?


15

"Dd" ve "d {motion}" komutlarına aşinayım, ama vim'in help.txt dosyasında "dap" bulamıyorum. "Dap" normal modda ne yapar ve neden? (Alternatif olarak, bu tür şeyleri kendim için nasıl bulabilirim?)

Yanıtlar:


29

"dap" aslında her şeyi silmez. Örneğin, arabelleğe koymayı deneyin:

1
1

2
2

3
3

Ardından imlecinizi '2' üzerine getirin ve "dap" yazın. '1'ler ve' 3'ler bırakacak.

Çünkü "dap" bir paragrafı siler . Aslında, bu aslında anımsatıcıdır: "(D) elete (A) (P) aragrafı". Aşağıdaki yardımda görebilirsiniz :h ap:

                            *v_ap* *ap*
ap          "a paragraph", select [count] paragraphs (see
            |paragraph|).
            Exception: a blank line (only containing white space)
            is also a paragraph boundary.
            When used in Visual mode it is made linewise.

Buna "metin nesnesi" denir. Bunları: altında okuyabilir :h text-objectsveya metin nesneleriyle ilgili bu harika makaleyi okuyabilirsiniz .

Her iki durumda da, metin nesnelerinin temel fikri, bir nesnenin sınırlarını tanımlamanız ve daha sonra ortasında olsanız bile tüm nesneye komutlar uygulamanızdır. Örneğin, dwbir kelimeyi silmek için kullanabileceğinizi bildiğinizden eminim . Peki ya bu senaryodaysanız?

Hello world
Cursor: ^

Eğer yazarsan dw, hala wosolun olacak. Eğer yazarsanız diw, bu kelimenin içinde silinir , bu yüzden çoğu zaman yazmakla eşdeğerdir bdw.

Bu tür şeyleri kendim için nasıl bulabilirim?

Temel fikre kapıldınız! Yardımı kontrol etmek her zaman iyi bir başlangıçtır. Bu durumda, dbunun bir operatör olduğunu fark etmiş olabilirsiniz , bu yüzden gerçekten aradığınız yardım, bu durumda operatörün argümanıydı ap.


1! Bilgiçlikçi olmak için: diw izleyen alandan ayrılırken bdw bırakmaz. diw bde ;-) ile aynı olurdu bdw için kolye aslında daw, hangi soru inme aynı "a" kullanır.
M.Herzkamp

1
M.Herzkamp @: Ve yine diwve bdeyine aynı değildir oldukça şunlardır: imleç bir kelimenin başında üzerinde buysa. Aynı şekilde, imleciniz kelimeler arasında boşluk varsa bdw, soldaki dawsözcüğü silerken, sağdaki sözcüğü siler. Bence orijinal cevap "çoğunlukla ..." muhtemelen bu denklikler açısından alacağımız en iyisidir.
wchargin
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.