ฉันกำลังคิดโดย "วาง" คุณหมายถึงทะเบียนที่ไม่มีชื่อ (ดึง / ใส่ / เปลี่ยนแปลง / ลบ / แทนที่) ใช่ไหม (เนื่องจากเป็นคำสั่งที่ถูกเขียนทับโดยคำสั่ง change)
ลงทะเบียนถูกกำหนดโดยการพิมพ์โดยทั่วไป"แล้วชื่อ (ตัวเดียว) ของการลงทะเบียนเช่น"ayนั้น"apจะงัดเข้าไปลงทะเบียนแล้วใส่เนื้อหาของการลงทะเบียนa aเช่นเดียวกันกับคำสั่งเปลี่ยนแปลง ในกรณีนี้ถ้าคุณไม่ต้องการให้ข้อความที่คุณเอามีคำสั่งเปลี่ยนแปลงไปทุกที่คุณสามารถใช้การลงทะเบียนของหลุมดำ:"_ "_cwจากนั้นเมื่ออยู่ในโหมดแทรกคุณสามารถกด ctrl-R ตามด้วยรีจิสเตอร์ที่คุณต้องการ (อาจ") เพื่อใส่เนื้อหาของรีจิสเตอร์นั้น
"* - การลงทะเบียนการเลือก (วางปุ่มกลาง)
"+ - ลงทะเบียนคลิปบอร์ด (อาจเข้าถึงได้ด้วย ctrl-shift-v ผ่านเทอร์มินัล)
"" - ค่าเริ่มต้นของกลุ่ม (ไม่มีชื่อ) ดึง / ใส่ / เปลี่ยนแปลง / ลบ / แทนที่ลงทะเบียน
คำตอบสั้น ๆ : "_cw^R"
แก้ไข: ตามที่คนอื่นแนะนำแน่นอนคุณสามารถใช้การลงทะเบียนอื่นสำหรับการดึง (หรืออะไรก็ได้) ที่ทำให้ข้อความของคุณอยู่ในการลงทะเบียนเริ่มต้น คุณไม่ได้คิดถึงสิ่งนั้นเป็นอันดับแรกเสมอไปดังนั้นจึงเป็นการดีที่จะทำคำสั่งเปลี่ยนแปลงเพียงครั้งเดียวโดยไม่ทำให้มันหายไป แม้ว่ามันจะไม่ปลิวไปเลยก็ตาม มีการลงทะเบียนหมายเลข"0ผ่าน"9:
กลุ่มเติมลงทะเบียนเหล่านี้ด้วยข้อความจากคำสั่งดึงและลบ
รีจิสเตอร์หมายเลข 0 มีข้อความจากคำสั่ง yank ล่าสุดเว้นแต่ว่าคำสั่งจะระบุรีจิสเตอร์อื่นด้วย ["x]
รีจิสเตอร์หมายเลข 1 มีข้อความที่ลบโดยคำสั่งลบหรือเปลี่ยนแปลงล่าสุดเว้นแต่คำสั่งจะระบุรีจิสเตอร์อื่นหรือข้อความน้อยกว่าหนึ่งบรรทัด (ใช้รีจิสเตอร์ลบขนาดเล็กแล้ว) ยกเว้นจะทำสำหรับผู้ประกอบการที่มีคำสั่งลบการเคลื่อนไหวเหล่านี้: %, (, ), `, /, ?, n, N, และ{ }ลงทะเบียน "1 จะถูกใช้เสมอ (ซึ่งเข้ากันได้กับ Vi)" - register ถูกใช้เช่นกันหากการลบอยู่ในบรรทัด
ด้วยการลบหรือการเปลี่ยนแปลงแต่ละครั้ง Vim จะเปลี่ยนเนื้อหาก่อนหน้าของรีจิสเตอร์ 1 เป็นรีจิสเตอร์ 2, 2 เป็น 3 และอื่น ๆ โดยจะสูญเสียเนื้อหาก่อนหน้าของรีจิสเตอร์ 9
12ylดึงอักขระ 12 ตัวและ"_cw^r0เพื่อแทนที่คำ จากนั้นฉันก็สามารถใช้.คำสั่งเพื่อทำการแทนที่ซ้ำตลอดทั้งไฟล์