ฉันพบว่ามาโครเป็นวิธีที่ยอดเยี่ยมในการทำสิ่งผิดปกติหากคุณสนใจที่จะทำสิ่งนั้นไม่เกินหนึ่งครั้งในดวงจันทร์สีน้ำเงิน สมมติว่าคุณมีตารางต่อไปนี้:
%
% Not Important
% O ------------------------->
% | Stuff in side the table
% S |
% o | So you can't just write your
% m |
% e | text and transform it into
% |
% M | the shape that you want
% s |
% g | Macros help here
% |
% V
และสมมติว่าคุณต้องการแทนที่ด้วยSome Msg
Other Message
ก่อนอื่นเรามาขยายตารางสำหรับอักขระพิเศษ (บรรทัดก่อนหน้านี้yy5p
:
%
% Not Important
% O ------------------------->
% | Stuff in side the table
% S |
% o | So you can't just write your
% m |
% e | text and transform it into
% |
% M | the shape that you want
% s |
% g | Macros help here
% |
% |
% |
% |
% |
% |
% V
มาโครที่ฉันกำลังจะทำคือดูแลการแปลงข้อความจากแนวนอนเป็นแนวตั้งในขณะที่แทนที่ข้อความเก่า เริ่มต้นด้วยการพิมพ์ข้อความในตำแหน่งแรก (เคอร์เซอร์อยู่ที่ท้ายOther Message
):
%
% Not Important
% O ------------------------->
% | Stuff in side the table
% SOther Message |
% o | So you can't just write your
% m |
% e | text and transform it into
% |
% M | the shape that you want
% s |
% g | Macros help here
% |
% |
% |
% |
% |
% |
% V
บันทึกแมโครต่อไปนี้:
qq
: เริ่มบันทึกแมโครชื่อ q
^
: ไปที่จุดเริ่มต้นของบรรทัด
3l
: เลื่อนไปยังคอลัมน์ที่จะวางข้อความ
x
: ลบอักขระเก่า
l
: เลื่อนไปทางขวาปล่อยให้ตัวละครหนึ่งตัวจากข้อความแทนที่ตัวละครเก่า:
v
: ไปที่โหมดภาพ
f|
: ข้ามไปที่ |
2h
: เลื่อนกลับไปที่อักขระสองตัว
d
: การเลือกตัด
j
: ย้ายลง
P
: วางก่อนเคอร์เซอร์
q
: ยุติการบันทึกแมโคร
ณ จุดนี้คุณมี:
%
% Not Important
% O ------------------------->
% | Stuff in side the table
% O |
% other Message | So you can't just write your
% m |
% e | text and transform it into
% |
% M | the shape that you want
% s |
% g | Macros help here
% |
% |
% |
% |
% |
% |
% V
ทำซ้ำมาโครในจำนวนที่มากพอ (เช่นจำนวนตัวอักษร แต่คุณไม่จำเป็นต้องรู้ล่วงหน้าล่วงหน้าดูถูกดูแคลนและทำต่อไปเมื่อคุณเห็นว่าการประมาณของคุณใกล้เคียง) งั้นไปด้วย10@q
กัน คุณได้รับ:
%
% Not Important
% O ------------------------->
% | Stuff in side the table
% O |
% t | So you can't just write your
% h |
% e | text and transform it into
% r |
% | the shape that you want
% M |
% e | Macros help here
% s |
% s |
% a |
% ge |
% |
% |
% V
ตกลงอีกหนึ่ง ( @q
):
%
% Not Important
% O ------------------------->
% | Stuff in side the table
% O |
% t | So you can't just write your
% h |
% e | text and transform it into
% r |
% | the shape that you want
% M |
% e | Macros help here
% s |
% s |
% a |
% g |
% e |
% |
% V
e
เคอร์เซอร์ของคุณอยู่ในขณะนี้ในวันสุดท้าย แมโครทำงานได้ไม่ดีกับตัวอักษรตัวสุดท้าย (คุณสามารถลอง@q
แล้วu
(ยกเลิก) เพื่อผลลัพธ์ที่ไม่น่าพอใจ) เพียงปรับด้วยตัวคุณเอง ( X
สำหรับ backspace)
:s/./% \0\r/
เพื่อเพิ่ม%
และการขึ้นบรรทัดใหม่ ... ไม่ดีแก้ปัญหา แต่ ...