“ dap” ลบทุกอย่างหรือไม่


15

ฉันคุ้นเคยกับคำสั่ง "dd" และ "d {motion}" แต่ไม่พบ "dap" ใน help.txt ของ vim "dap" ทำอะไรในโหมดปกติและเพราะอะไร (อีกวิธีหนึ่งฉันจะค้นหาสิ่งนี้ได้ด้วยตัวเองอย่างไร)

คำตอบ:


29

"dap" ไม่ได้ลบทุกอย่าง ตัวอย่างเช่นลองใส่สิ่งนี้ลงในบัฟเฟอร์ของคุณ:

1
1

2
2

3
3

จากนั้นวางเคอร์เซอร์บน '2' และพิมพ์ "dap" มันจะออกจาก '1 และ' 3

เพราะนี่คือ "DAP" ลบวรรค อันที่จริงแล้วนั่นเป็นตัวช่วยจำ: "(D) elete (A) (P) ย่อหน้า" คุณสามารถดูได้ในความช่วยเหลือภายใต้: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.

สิ่งนี้เรียกว่า "วัตถุข้อความ" คุณสามารถอ่านเกี่ยวกับสิ่งเหล่านี้ภายใต้: :h text-objectsหรือคุณสามารถอ่านบทความสุดเจ๋งนี้บนวัตถุข้อความ

ไม่ว่าจะด้วยวิธีใดแนวคิดพื้นฐานของวัตถุข้อความคือคุณกำลังกำหนดขอบเขตของวัตถุแล้วใช้คำสั่งกับวัตถุทั้งหมดแม้ว่าคุณจะอยู่ตรงกลาง ตัวอย่างเช่นฉันแน่ใจว่าคุณรู้ว่าคุณสามารถใช้dwลบคำได้ แต่ถ้าคุณอยู่ในสถานการณ์นี้

Hello world
Cursor: ^

หากคุณพิมพ์dwคุณจะยังwoเหลืออยู่ ถ้าคุณพิมพ์diwที่จะลบภายในของคำว่าbdwดังนั้นส่วนใหญ่ก็เทียบเท่ากับการพิมพ์

ฉันจะหาของแบบนี้ให้ตัวเองได้อย่างไร

คุณมีความคิดพื้นฐานลงไป! การตรวจสอบความช่วยเหลือเป็นการเริ่มต้นที่ดีเสมอ ในกรณีนี้คุณอาจตระหนักว่าdเป็นผู้ดำเนินการดังนั้นความช่วยเหลือที่คุณมองหาจริงๆคือข้อโต้แย้งของผู้ดำเนินการในกรณีapนี้


+1! To be pedantic: diw ออกจากพื้นที่ต่อท้ายขณะที่ bdw ไม่ทำ diw จะเหมือนกับ bde ;-) จี้สำหรับ bdw นั้นเป็นเรื่องจริงซึ่งใช้ "a" เหมือนกับจังหวะในคำถาม
M.Herzkamp

1
@ M.Herzkamp: และยังdiwและbdeยังคงไม่เหมือนกัน: หากเคอร์เซอร์ของคุณอยู่ที่จุดเริ่มต้นของคำ ในทำนองเดียวกันหากเคอร์เซอร์ของคุณอยู่ในช่องว่างระหว่างคำจากนั้นbdwจะลบคำทางด้านซ้ายในขณะที่dawจะลบคำทางด้านขวา ฉันคิดว่าคำตอบดั้งเดิมของคำว่า "ส่วนใหญ่ ... " น่าจะดีที่สุดที่เราจะได้ในแง่ของการเทียบเคียงเหล่านี้
wchargin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.