ฉันจะลบบรรทัดถัดไปเป็นกลุ่มได้อย่างไร


10

ใน emacs เมื่อใดก็ตามที่ฉันต้องการลบข้อความสองสามบรรทัดฉันก็แค่ใช้ Ck จนกว่าข้อความทั้งหมดจะหายไป อย่างไรก็ตามในกลุ่มดูเหมือนว่าจะซับซ้อนกว่าเล็กน้อย ฉันรู้ว่าฉันสามารถทำได้d$เพื่อลบจนกว่าจะสิ้นสุดของบรรทัดและddลบทั้งบรรทัดที่ฉันเปิดอยู่ แต่ฉันจะลบบรรทัดถัดไปทั้งหมดได้อย่างไร

คำตอบ:



16

ข้อสันนิษฐาน: คุณต้องการท้ายบรรทัดที่คุณเริ่ม

คำตอบของฉัน: jddk

  • j (เลื่อนลง)
  • dd (ลบบรรทัดปัจจุบัน)
  • k (เลื่อนขึ้น)

ลอง - เร็ว! ในความเป็นจริงมันเป็นสองการกดแป้นน้อยกว่าคำตอบที่ยอมรับในปัจจุบันเพราะ:

  1. คุณไม่จำเป็นต้องกดค้าง[Shift]เพื่อป้อนเครื่องหมายโคลอน ':' และเครื่องหมายบวก '+' และ
  2. คุณไม่จำเป็นต้องบอกเป็นนัย[Enter]ในตอนท้ายของลำดับเนื่องจากjddkมีการป้อนทั้งหมดในโหมดภาพเมื่อเทียบกับโหมดคำสั่ง

นอกจากjddkนี้ยังมีอยู่ในแถวบ้านของแป้นพิมพ์

ฉันใช้เวลานานโดยใช้h, j, k, lเพื่อนำทางเข้าไปviนานก่อนซอฟต์แวร์การจำลองเทอร์มินัลที่ฉันใช้เริ่มต้นรองรับแป้นลูกศร (ฉันกำลังพูดถึงประมาณ 20 ปีที่แล้ว ;-)


1
hjkl เร็วขึ้นแล้วล่ะ ฉันไม่เคยใช้แป้นพิมพ์ที่ไม่มีปุ่มลูกศรเลยและฉันก็เริ่มให้ความสำคัญกับประสิทธิภาพของการจับคู่คีย์เหล่านี้ประมาณ 10 นาทีหลังจากที่ฉันหยุดที่จะรู้สึกรำคาญเมื่อไม่ได้ตั้งใจ
intuited

4

ฉันขอแนะนำให้อ่านคำตอบนี้ในกองล้นซึ่งมีมากกว่า 500 upvotes: /programming/1218390/what-is-your-most-productive-shortcut-with-vim/1220118#1220118 - คำตอบนั้นยาว แต่ช่วยให้เข้าใจว่าทำไมเสียงเรียกเข้าจึงทรงพลัง ...


ขอบคุณสำหรับการชี้ให้เห็น! คำตอบอย่างละเอียดและให้ข้อมูลเกี่ยวกับ grokking vim และ vi
Chris W. Rea

2

คุณอาจสนใจในโหมดภาพ เพียงใช้vเพื่อป้อนและyดึงหรือdลบ การตรวจสอบ:helpเป็นสถานที่ที่ดีเมื่อคุณติดอยู่เช่นกัน ตัวอย่างเช่น:help deleteจะให้คู่มือสำหรับคำสั่งลบปกติส่วนใหญ่


0

หากคุณต้องการลบบรรทัดจำนวนมากในแถวคุณสามารถใช้ddเพื่อลบบรรทัดที่คุณอยู่จากนั้นกดปุ่ม (หรือกดค้าง) .(จุด) ค้างไว้(จุด) เพื่อทำซ้ำคำสั่ง


หรือพิมพ์Nddโดยที่Nคือจำนวนบรรทัดที่จะลบ พูดหากต้องการลบบรรทัดปัจจุบันและสองบรรทัดถัดไป (รวม 3 รายการ) พิมพ์3dd
quack quixote
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.