วิธีคัดลอกจากตำแหน่งปัจจุบันไปยังจุดสิ้นสุดของบรรทัดใน vi


107

ฉันใช้ gvim ใน windows วิธีคัดลอกข้อความจากตำแหน่งปัจจุบันไปที่ท้ายบรรทัดใน vi และวางในไฟล์อื่นที่เปิดใน vi ฉัน googled แต่ไม่พบวิธีแก้ปัญหานี้ ขอบคุณความช่วยเหลือใด ๆ ในเรื่องนี้ ขอบคุณ.

คำตอบ:


163

$คำสั่งโหมดปกติที่จะย้ายไปยังจุดสิ้นสุดของเส้นคือ

คุณสามารถคัดลอกไปยังจุดสิ้นสุดของเส้นด้วยและวางกับy$p

ในการคัดลอก / วางระหว่างอินสแตนซ์ต่างๆคุณสามารถใช้คลิปบอร์ดของระบบได้โดยการเลือก*รีจิสเตอร์ดังนั้นคำสั่งจึงมี"*y$ไว้สำหรับคัดลอกและ"*pวาง

$ ย้ายไปบรรทัดแตก

$

y$ ดึงไปบรรทัดแตก

y,$

"*y$ เลือกคลิปบอร์ดลงทะเบียน yank-to-linebreak

", *, y,$

"*p เลือกวางคลิปบอร์ดลงทะเบียน

", *,p

ตรวจสอบ:h registersข้อมูลเพิ่มเติม


ขอบคุณ. แต่ฉันต้องการวางเนื้อหาลงใน 'ไฟล์อื่น' ที่เปิดใน vi ใช้ได้กับไฟล์เดียวกันเท่านั้น
javalearner

4
จะใช้ได้กับไฟล์ใด ๆ ที่เปิดภายในอินสแตนซ์เดียวกัน คุณสามารถคัดลอกไปยังคลิปบอร์ดของระบบได้โดยเลือก*(หรือ+) register
Don Reba

ทำไมต้องลงทะเบียนระบบไม่สามารถทำงานได้ ... ฉันไม่สามารถคัดลอกบริบทในการfile1 file2ฉันยังคงต้องใช้เมาส์ อาจเป็นเพราะอะไร?
Alston

8
ฉันมักจะใช้Dเพื่อตัดจากตำแหน่งปัจจุบันไปยังจุดสิ้นสุดและpวาง (กู้คืน) ข้อมูลเดิมจากนั้นย้ายไปที่อื่นเพื่อวางข้อมูลที่ดึงออกมา เพียงเพราะมันไกลง่ายต่อการพิมพ์กว่าD y$
neevek

1
@PhilipRego มันy$ไม่มีอัฒภาค
Don Reba

45

yg_หากคุณไม่ต้องการที่จะรวมถึงการแบ่งบรรทัดที่มีการงัดที่คุณสามารถใช้ (หรือในกรณีของคุณ"*yg_)

โดยพื้นฐานแล้วเพียงแค่รับรู้ว่ามีความแตกต่างระหว่าง$และg_ฉลาดในการเคลื่อนไหว มันช่วยฉันได้หลายครั้ง


3
อย่างไรก็ตามมีการแลกเปลี่ยนg_และ$? ฉันพบว่าตัวเองแทบจะไม่ได้เลยถ้าจำเป็นต้องรวมเส้นแบ่งในการเคลื่อนไหว
Jonathan Dumaine

1
ใช่! บรรทัดใหม่พิเศษทำให้ฉันคลั่งไคล้ นี่คือข้อมูลที่จำเป็น
javadba

6
@JonathanDumaine ใน$MYVIMRCแอดไลน์ของคุณnmap $ g_
thedanotto

@thedanotto คุณคนสวย
Jonathan Dumaine


3

วิธีแก้ปัญหาอื่น: Dpและวางด้วยp. อันที่จริงนี่เป็นการลบครั้งแรกไปที่ท้ายบรรทัดและวางใหม่ที่ตำแหน่งเดิม pวางไว้ที่อื่นด้วย


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