จะเลือก / ลบจนกว่าจะสิ้นสุดไฟล์ใน vim / gvim ได้อย่างไร?


41

บังเอิญฉันจัดการเพื่อคัดลอกวางย่อหน้าในกลุ่ม zillion ครั้ง ฉันจะเลือกและลบข้อความจากตำแหน่งปัจจุบันไปยังจุดสิ้นสุดไฟล์ได้อย่างไร

ใน Windows จะเป็น Ctrl-Shift-End ตามด้วย Delete


เสียงเรียกเข้ามีการเลิกทำ uกด
Kusalananda

คำตอบ:


49
VGx

เข้าสู่โหมดภาพไปที่สิ้นสุดไฟล์, ลบ

หรือคุณสามารถทำได้:

Vggx

หากต้องการลบจากตำแหน่งปัจจุบันไปยังจุดเริ่มต้นของไฟล์


1
ฮึฉันจะไม่จำทางลัดเหล่านี้ทั้งหมด ทางลัด Windows นั้นใช้งานง่ายกว่ามาก
ripper234

โดยส่วนตัวแล้วฉันพบว่ากลุ่มที่ใช้งานง่ายกว่า V, เข้าสู่โหมดภาพ G, เกือบเหมือน "go", ถึงจุดสิ้นสุดของไฟล์ และ x, ลบ
มาร์ค Szymanski

10
@ ripper234: อย่าพยายามจำ "ตัวอย่าง" เพื่อทำงานเฉพาะเจาะจงโดยมุ่งเน้นที่คำสั่งย่อย นั่นเป็นส่วนหนึ่งของเวทมนต์ของกลุ่ม: ใช้คำสั่งขนาดเล็กเหล่านี้เพื่อสร้างสิ่งที่ใหญ่และซับซ้อนมากขึ้น มันเกือบจะยืดหยุ่นไม่ จำกัด
เรด

และมันช่วยได้มากในการอ่านและอ่าน vim-help-section ที่เกี่ยวข้องด้วย: h command-you-need-help-for
Gjallar

1
ในการเพิ่มไปนี้: เรียกใช้vimtutorจาก commandline เพื่อทำความคุ้นเคยกับพวกเขา @ ripper234
Bernhard

48

dคือลบและGย้ายไปที่ท้ายไฟล์ดังนั้นdGจะลบไปที่ท้ายไฟล์ มันรวมถึงบรรทัดปัจจุบันทั้งหมดแม้ว่า; หากคุณอยู่ตรงกลางและต้องการรักษาทุกอย่างไว้ก่อนที่จะอยู่ในตำแหน่งปัจจุบันคุณต้องใช้วิธีการของ Mark


+1 วิธีอื่นในการรักษาส่วนหนึ่งของบรรทัดปัจจุบันคือD<enter>dG: Dเพื่อลบไปยัง EOL <enter>เพื่อย้ายไปยังบรรทัดถัดไปdGเพื่อลบไปยัง EOF
จิมแอล

8

อีกวิธีหนึ่ง: :.,$d

ซึ่งหมายความว่าในโหมด ex, แอดเดรสบรรทัดปัจจุบันถึงจุดสิ้นสุดและลบ


7

คุณสามารถพิมพ์uเพื่อเลิกทำการเปลี่ยนแปลงที่ทำให้การคัดลอกวางผิดพลาดได้


ไม่สามารถทำได้เสมอไปดู "เลือก" ลองนึกภาพว่าคุณได้เขียนโค้ดไว้ที่ส่วนท้ายของไฟล์ (และต้องการที่อื่น), dG ช่วยให้คุณแทรกด้วย p | P
relascope

2
vGx

ทำงานได้ดีสำหรับการเลือกหลายบรรทัด (ในวรรคกรณีนี้) แต่ถ้าคุณต้องการเลือกภายในหนึ่งบรรทัดมันจะทำหน้าที่อย่างลึกลับ (เลือกจากเคอร์เซอร์จนถึงจุดเริ่มต้นของบรรทัด)

ในกรณีที่เลือกภายในบรรทัดเดียวคุณต้องใช้:

v$x

ซึ่งเข้าสู่โหมด Visual ("v") และไปที่จุดสิ้นสุดของบรรทัด ("$") และลบ ("x") จากตำแหน่งปัจจุบันจนถึงจุดสิ้นสุดบรรทัด


0

Vggx ไม่ได้ผลสำหรับฉัน แต่ vG $ d ทำได้ vG $ เลือกเป็น EOF (อักขระตัวสุดท้ายของบรรทัดสุดท้าย) จากนั้นคำสั่งใดก็ตามที่คุณต้องการดำเนินการ

= วิธีนี้ (คำสั่งหลังจากการเลือก) ดูเหมือนว่าจะทำงานได้ดีขึ้น แน่นอนฉันใช้ Vim 8.1 บน Windows 10 และไม่กี่ปีต่อมา

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