วิธีการแก้ไขบล็อกที่เลือกด้วยคำสั่งภายนอก?


9

ฉันมีไฟล์ที่ประกอบด้วยสองส่วนแนวตั้ง ด้านซ้ายมีการจัดรูปแบบข้อมูลแล้วและฉันไม่ต้องการเปลี่ยนแปลง ฉันต้องการจัดรูปแบบข้อมูลทางด้านขวาเท่านั้น บอกว่าฉันมีไฟล์ที่มีเส้นเหมือนกัน

foo=bar baz     # Neato       Junk
quux=xyzzy      # Bilbo Baggins Ring

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

gg
/#
ctrl-v
G
$

แต่ถ้าฉันลองปรับเปลี่ยน (พูดด้วย:'<,'>!column -t) จริง ๆ แล้วมันจะปรับเปลี่ยนทั้งหมดของทุกบรรทัด นิพจน์ที่ถูกต้องที่ใช้เพื่อแก้ไขเฉพาะส่วนที่มองเห็นคืออะไร


2
คุณสามารถลองใช้ปลั๊กอินvisจาก Dr. Chip หรือปลั๊กอินNrrwRgnของฉัน ทั้งสองควรจัดการได้ดี
Christian Brabandt

คำตอบ:


6

คุณสามารถลอง:

gg
^V
G
t#
d
:%!column -t
gg
P

จาก:h :visual_example:

ขณะนี้คำสั่ง ":" ใช้ได้กับทั้งบรรทัดเท่านั้น เมื่อคุณเลือกส่วนหนึ่งของบรรทัดการทำบางสิ่งเช่น ":! date" จะแทนที่ทั้งบรรทัด หากคุณต้องการแทนที่ส่วนหนึ่งของบรรทัดคุณจะต้องทำการแมป ในรุ่นอนาคต ":" อาจใช้งานได้ในบางส่วน

ดู:h visual-operatorsรายละเอียดเพิ่มเติมที่

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