ฉันจะลบบรรทัดใน VIM อย่างรวดเร็วเริ่มต้นที่ตำแหน่งเคอร์เซอร์ได้อย่างไร


267

ฉันต้องการที่จะลบส่วนที่เหลือของบรรทัดที่ฉันเริ่มต้นที่ตำแหน่งเคอร์เซอร์ใน VIM มีคำสั่งที่ง่ายในการทำเช่นนี้หรือไม่?

เพื่อช่วยอธิบายนี่คือก่อนคำสั่ง

The quick brown dog jumps over the lazy fox.
     ^
     |----- Cursor is here.

นี่คือหลังจากคำสั่ง

The q
     ^
     |----- Cursor is here.

คำตอบ:


430

(แก้ไขเพื่อรวมการเพิ่มที่ดีของ commenter :)

Dหรือเทียบเท่าd$จะลบส่วนที่เหลือของบรรทัดและปล่อยให้คุณอยู่ในโหมดคำสั่ง Cหรือc$จะลบส่วนที่เหลือของบรรทัดและนำคุณเข้าสู่โหมดแทรกและข้อความใหม่จะถูกต่อท้ายบรรทัด

นี่เป็นส่วนหนึ่งvitutorและvimtutor"อ่าน" ที่ยอดเยี่ยมสำหรับผู้เริ่มต้นกลุ่ม


1
ระเบิดฉันคิดว่ามันเป็นเรื่องง่ายฉันคิดว่าบางdสิ่งบางอย่างตามด้วยบางสิ่งบางอย่าง ฉันคิดว่ามันจะเร็วกว่าในการโพสต์คำถามที่นี่และเป็นประโยชน์ต่อผู้อื่นที่เริ่มต้นค้นหาออนไลน์ก่อนอ่านคู่มือ
Anthony

2
หรือCวิธีเดียวที่ "จริง" เพื่อให้ได้เคอร์เซอร์ตามตำแหน่งที่ระบุแม้ว่าจะทำให้คุณอยู่ในโหมดแทรก
วอลเตอร์

1
@Anthony: นอกจากนี้ยังมี " dตามมาด้วยอะไร" คำสั่งเทียบเท่าสำหรับDที่ "อะไร" คือการเคลื่อนไหว:$ d$
ไอ

2
และถ้าคุณต้องการที่จะจบลงในโหมดแทรกให้ใช้C(หรือc$)
เบอนัวต์

7
ฉันรู้ว่าโซลูชันนี้ได้รับการตอบแล้ว แต่ฉันได้ทำการค้นหาวิธีการลบทั้งบรรทัดด้วย VIM และพบสิ่งนี้ ตัวเลือกปรากฏว่าฉันกำลังมองหาddมาจากโหมดคำสั่ง ฉันหวังว่าจะช่วยเหลือผู้อื่นที่สะดุดข้ามสิ่งนี้
Frito


21

คุณอาจสนใจCมันจะลบจุดสิ้นสุดของบรรทัดเหมือนDแต่นอกจากนี้มันจะทำให้คุณอยู่ในโหมดแทรกที่ตำแหน่งเคอร์เซอร์




5

นี่เป็นคำถามที่เก่ามาก แต่เนื่องจาก VIM ยังคงมีบางสิ่งที่เกี่ยวข้องควรจะชี้แจง

ทุกคำตอบและแสดงความคิดเห็นที่นี่ ณ ตุลาคม 2018 ได้มีการเรียกกันทั่วไปว่าสิ่งที่จะเป็นที่รู้จักในฐานะ "ตัด" การกระทำจึงใช้ใด ๆ ของพวกเขาจะเปลี่ยนสิ่งที่เป็นอยู่ในปัจจุบันเป็นกลุ่มของชื่อลงทะเบียน การลงทะเบียนนี้มีแนวโน้มที่จะได้รับการปฏิบัติเหมือนคลิปบอร์ดคัดลอก / วางเริ่มต้นดังนั้นคำตอบเหล่านี้จะไม่ทำงานตามที่ต้องการหากคุณลบบรรทัดที่เหลือเพื่อวางบางสิ่งบางอย่างในสถานที่เดียวกันหลังจากนั้นสิ่งที่เพิ่งถูกลบจะถูกวางในภายหลัง แทนที่สิ่งที่ถูกดึงมาก่อน

คำสั่งการลบที่แท้จริงในบริบทของ OP คือ"_D(หรือ"_Cหากต้องการโหมดการแทรก) ซึ่งจะส่งเนื้อหาที่ถูกลบไปยังการลงทะเบียนหลุมดำที่กำหนดโดย"_ที่มันจะไม่รบกวนใครอีกเลย (แม้ว่าคุณจะยังสามารถยกเลิกการกระทำนี้โดยใช้u)

ที่ถูกกล่าวว่าสิ่งที่ถูกกระชากสุดท้ายถูกเก็บไว้ใน0 ทะเบียน"0pและแม้ว่าจะได้รับการแทนที่ในการลงทะเบียนชื่อก็ยังสามารถวางใช้

เรียนรู้เพิ่มเติมเกี่ยวกับการลงทะเบียนหลุมดำและลงทะเบียนโดยทั่วไปเพื่อความสนุกสนาน VIM พิเศษ!


4

Dหรือddลบและคัดลอกบรรทัดลงทะเบียน คุณสามารถใช้Vxเพียงการลบบรรทัดและอยู่ในโหมดปกติ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.