สมมติว่าฉันมีบล็อกข้อความ ...
Lorem ipsum
Lorem ipsum dolor
Lorem ipsum dolor sit
Lorem ipsum dolor sit amet
... และฉันต้องการแทรก a .
ท้ายบรรทัดแต่ละบรรทัด อะไรคือวิธีที่ดีที่สุดในการบรรลุเป้าหมายนี้?
สมมติว่าฉันมีบล็อกข้อความ ...
Lorem ipsum
Lorem ipsum dolor
Lorem ipsum dolor sit
Lorem ipsum dolor sit amet
... และฉันต้องการแทรก a .
ท้ายบรรทัดแต่ละบรรทัด อะไรคือวิธีที่ดีที่สุดในการบรรลุเป้าหมายนี้?
คำตอบ:
ฉันทำต่อไปนี้เพื่อต่อท้ายข้อความในหลายบรรทัด:
<c-V>
- เข้าสู่โหมด Visual Blockj
/ k
เพื่อเลือกบรรทัด$
- เลื่อนเคอร์เซอร์ไปที่อักขระตัวสุดท้ายA
- เข้าสู่โหมดแทรกหลังจากตัวละครตัวสุดท้าย<Esc>
- ออกจากโหมดแทรกและบล็อกต่อท้ายเมื่อเปรียบเทียบกับการเขียน:norm
หลังจากการเลือกมีการกดปุ่มน้อยกว่า แต่เหตุผลที่แท้จริงที่ฉันใช้นี่คือเพราะมันเป็นสัญชาตญาณสำหรับฉันที่จะทำงานในโหมด Visual Block สำหรับการเปลี่ยนแปลงประเภทนี้
ในบรรทัดแรกเพียงพิมพ์:
4:norm A.
4
และ:
สร้างช่วงสำหรับคุณแล้วnorm A.
เพิ่มจุดลงในแต่ละบรรทัด
วิธีแก้ปัญหาสำหรับย่อหน้าที่ยาวขึ้นอาจเป็น:
Vip<C-v>$A.<Esc>
ขั้นตอนแรกคือการเลือกย่อหน้าด้วยVip
จากนั้นคุณเปลี่ยนเป็นโหมดบล็อกภาพและเลื่อนเคอร์เซอร์ไปที่จุดสิ้นสุดของแต่ละบรรทัดด้วย$
จากนั้นคุณเพิ่ม.
ไปยังแต่ละบรรทัดด้วยA.
และได้เข้าสู่โหมดปกติด้วย<Esc>
เพื่อดูการเปลี่ยนแปลงที่นำไปใช้กับแต่ละบรรทัด .
:A
คำสั่งนี้คืออะไร? ฉันไม่พบมันผ่าน:h :A
4:norm A.
จะเป็น4:s/$/.
ก่อนอื่นคุณสามารถเลือกใช้สายตาโดยV
ใช้ปุ่มเคลื่อนไหวเพื่อเลือกข้อความทั้งหมด (หรือถ้าข้อความนั้นเป็นย่อหน้าที่คุณสามารถทำได้ [เริ่มต้นที่บรรทัดแรก] V}
) :
แล้วพิมพ์ สิ่งนี้ควรแสดงบางอย่างเช่น:'<,'>
ในบรรทัดคำสั่ง
:'<'>normal A.
สิ่งนี้จะดำเนินการnormal A.
ในบรรทัดที่เลือก normal A.
ดำเนินการA.
ตามการกดแป้นโหมดปกติ นี่A
เป็น.
ส่วนท้ายของแต่ละบรรทัดที่เลือก
หากคุณต้องการเพิ่มจุดที่ส่วนท้ายของทุกบรรทัด:
:%norm A.
หรือคุณสามารถใช้การค้นหาและแทนที่:
:%s/$/./
% คือไฟล์ทั้งหมด $ คือท้ายบรรทัด
:1,4s/$/./
ซึ่งจะแทนที่อักขระตัวสุดท้ายด้วยจุดบนบรรทัดที่หนึ่งถึงสี่
หากต้องการทำให้เป็นเรื่องทั่วไปมากขึ้นคุณสามารถบันทึกแมโครในบรรทัดเดียวแล้วเล่นกลับในแต่ละบรรทัดในช่วงที่คุณเลือก
บันทึกแมโครลงในการลงทะเบียน (q register ในตัวอย่างนี้):
qqA.<Esc>q
จากนั้นคุณสามารถเลือกบรรทัดที่คุณต้องการใช้งานด้วยสายตา:
Vip
จากนั้นเล่นมาโครของคุณในแต่ละบรรทัด (ช่วงจะถูกป้อนอัตโนมัติ):
:'<,'>norm @q