เป็นกลุ่มตัดและวางประวัติ


60

เมื่อฉัน 'ตัด' เป็นกลุ่มฉันเชื่อว่ามีทะเบียนที่เก็บประวัติของทุกสิ่งที่ฉันตัดล่าสุด ฉันจะเข้าถึงการลงทะเบียนเหล่านั้นได้อย่างไร

ตัวอย่างเช่นสมมติว่าฉันตัดคำเหล่านี้แต่ละคำติดต่อกัน

  • 'สวัสดี'
  • 'โลก'
  • 'และ'
  • 'กลุ่ม'

โปรดทราบว่าฉันไม่ได้บันทึกการแก้ไขเหล่านี้ไว้ในรีจิสเตอร์โดยเฉพาะฉันแค่ใช้ 'd' สี่ครั้งติดต่อกัน

คำตอบ:


102

The

: ช่วยลงทะเบียน

คำสั่งเผยให้เห็นว่ามี 10 หมายเลขลงทะเบียน ( "0ไป"9)

สมัคร"0เป็นสิ่งที่ล่าสุดกระชาก ; register "1มีข้อความที่ถูกลบล่าสุดลงทะเบียน"2การลบก่อนหน้า"3มีการลบก่อนหน้านั้นเป็นต้น

ถ้าคุณลบแต่ละบรรทัดในการเปิดลงทะเบียน"1, "2, "3และ"4จะมี "กลุ่ม", "และ", "โลก" และ "ฮัลโหล" ตามลำดับ

คุณสามารถตรวจสอบได้โดยใช้คำสั่ง:reg(หรือ:registers):

:reg
""   Vim^J
"1   Vim^J
"2   And^J
"3   World^J
"4   Hello^J

ดังนั้นหลังจากลบสี่บรรทัดทีละครั้งคุณสามารถกู้คืนบรรทัดที่ 2 ("โลก") ด้วย

"3p

เพราะมันเป็นการลบครั้งที่สามครั้งล่าสุด


สมบูรณ์แบบ อย่างไรก็ตามสิ่งที่ฉันต้องการข้อความ 'กระชาก' ล่าสุด?
Alexey

ดังนั้นคุณจะใช้: p (ซึ่งหมายถึงเหมือนกับ "0p)
njd

1
นอกจากนี้ยังให้ความสนใจกับการลงทะเบียนเป็นพิเศษโดยเฉพาะอย่างยิ่ง "*" และ "+" :help registersเมื่อคุณอ่าน มีประโยชน์มาก
Daniel Andersson

3
พระเจ้าคุณได้เรียนรู้สิ่งใหม่ทุกวันในฐานะที่เป็นงู มันเยี่ยมมาก ขอบคุณ @njd
ELLIOTTCABLE

3
คำตอบนี้จะให้รายละเอียดที่สำคัญ: การลบเพียงหนึ่งบรรทัดหรือมากกว่านั้นจะถูกเก็บไว้ในประวัติด้วยวิธีนี้ หากคุณลบคำในวิธีที่ OP อธิบายไว้ในคำถาม (ใช้dสี่ครั้งแทนที่จะเป็นdd) ดังนั้นทั้งหมด แต่คำที่ถูกลบล่าสุดจะหายไป
Alexander Rechsteiner

8

นอกจากคำตอบของ njd สิ่งนี้สามารถทำให้ง่ายขึ้นด้วยปลั๊กอินYankRing เช่นเดียวกับการทำให้ง่ายต่อการเรียกดู yanks ก่อนหน้าคุณสามารถกำหนดค่าคีย์บางอย่างเพื่อให้คุณสามารถดึง yanks ก่อนหน้าออกจาก 'stack' วิธีนี้ช่วยให้คุณ:

yy    " Copy first line
yy    " Copy second line
yy    " Copy third line
yy    " Copy fourth line
" Assumes you've mapped ,p to be the pop command: choose your preferred key or key-combination
,p    " Paste fourth line and pop it off the Yank Ring
,p    " Paste third line and pop it off the Yank Ring
,p    " Paste second line and pop it off the Yank Ring
,p    " Paste first line and pop it off the Yank Ring

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