วิธีที่มีประสิทธิภาพมากที่สุดในการแทนที่บัฟเฟอร์ทั้งหมดหรือไม่


10

ขณะนี้ฉันมีสองวิธีที่คล้ายกันเพื่อแทนที่บัฟเฟอร์ทั้งหมดด้วยข้อความอื่น ๆ (พูดในคลิปบอร์ด)

วิธีที่ # 1:

  1. ลบทุกบรรทัด: :%d.

  2. วางข้อความ: "+P(หรือคล้ายกัน: :put+)

วิธีที่ # 2:

  1. ggVGสายตาเลือกเส้นทั้งหมด:

  2. "+Pวางข้อความ:

อย่างไรก็ตามฉันไม่สามารถหาทางสั่งไฟได้ สิ่งที่ใกล้เคียงที่สุดที่ฉันพบคือ:changeคำสั่ง แต่ดูเหมือนว่าจะทำงานได้ดีกับการลงทะเบียน แน่นอนฉันสามารถสร้างฟังก์ชั่นและ / หรือแมปคีย์เพื่อทำสิ่งนั้น แต่ก่อนที่ฉันจะทำการปรับแต่งเหล่านี้ทั้งหมดฉันต้องการตรวจสอบให้แน่ใจ:

มีคำสั่งในตัวเพื่อแทนที่ช่วงของบรรทัดด้วยข้อความอื่น ๆ หรือไม่? เช่นคุณสามารถ:%replace+แทนที่บัฟเฟอร์ทั้งหมดด้วยข้อความในคลิปบอร์ด?


2
ฉันไม่รู้อะไรเลยนอกหัว แต่ถ้าคุณทำสิ่งนี้มากทำไมไม่สร้างแผนที่ / คำสั่ง?
Matt Boehm

5
อืม1,$s/\_./\=@+ไม่ใช่วิธีแก้ปัญหา: P :%d|put+อยู่ใกล้ แต่ก็ไม่ใกล้เคียง
Runium

1
ฉันลืมดอกจันหลังจากจุด ... 1,$s/\_.*/\=@+ที่\_.ตรงกับตัวอักษรใด ๆรวมถึงการขึ้นบรรทัดใหม่
Runium

2
คุณต้องใช้บัฟเฟอร์ซ้ำหรือไม่หรือจะยอมรับการเริ่มบัฟเฟอร์ใหม่ได้หรือไม่
200_success

3
ฉันคิดว่า Sukminder :%d|put+เหมาะกับใบเสร็จ มันสั้นและน่าจดจำ คำสั่งอื่นนั้นจำง่ายเกินไปที่จะจดจำและพิมพ์อย่างถูกต้อง
Lie Ryan

คำตอบ:


2

คุณสามารถทำมองเห็นการเลือกบัฟเฟอร์ทั้งหมดและใส่ggvG<CTRL-G> Select-modeนี่เป็นวิธีที่ง่ายที่สุดในการแทนที่บัฟเฟอร์ด้วยข้อความที่คุณวางแผนจะพิมพ์ คุณอาจสามารถสร้างการSelect-modeแมปด้วยวิธีนี้:smapเพื่อแก้ปัญหาของคุณ


0

วิธีหนึ่งในการแทนที่บัฟเฟอร์ทั้งหมดด้วยคลิปบอร์ดของคุณสามารถทำได้ผ่านคำสั่งภายนอกเช่น:

:%!pbpaste
:%!echo my_text

ดูเพิ่มเติมที่: การแชร์คลิปบอร์ดของ Mac OS X

หรือโดยใช้การทดแทน:

:%s/\_.*/\=@+/
:%s/\_.*/my text/

หรือใช้:%d|put+(ตามที่แนะนำไว้แล้วในความคิดเห็น)

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