Tôi thấy rằng macro là một cách tuyệt vời để làm những thứ khác thường nếu bạn thích làm điều đó không quá một lần trong một mặt trăng xanh. Giả sử bạn có bảng sau:
%
% 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
Và hãy nói rằng bạn muốn thay thế Some Msg
bằng Other Message
. Trước hết, hãy mở rộng bảng cho ký tự phụ (dòng trước cuối 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
Macro tôi sẽ đưa ra sẽ đảm nhận việc chuyển đổi văn bản từ ngang sang dọc trong khi thay thế văn bản cũ. Bắt đầu bằng cách nhập văn bản ở vị trí đầu tiên (con trỏ ở cuối 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
Ghi lại macro sau:
qq
: bắt đầu ghi macro có tên q
^
: đi đến đầu dòng
3l
: di chuyển đến cột nơi văn bản sẽ được đặt
x
: xóa ký tự cũ
l
: di chuyển sang phải, để lại một ký tự từ tin nhắn thay cho ký tự cũ:
v
: chuyển sang chế độ trực quan
f|
: nhảy tới |
2h
: di chuyển trở lại hai nhân vật
d
: lựa chọn cắt
j
: đi xuống
P
: dán trước con trỏ
q
: chấm dứt ghi macro
Tại thời điểm này, bạn có:
%
% 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
Lặp lại số lần macro đủ lớn (nghĩa là số lượng ký tự, nhưng bạn không cần biết trước. Chỉ cần đánh giá thấp và tiếp tục khi bạn thấy mức độ ước tính của mình gần như thế nào). Vì vậy, hãy đi với 10@q
. Bạn lấy:
%
% 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
Ok, thêm một ( @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
Con trỏ của bạn bây giờ là cuối cùng e
. Macro không hoạt động tốt với chữ cái cuối cùng (bạn có thể thử @q
và sau đó u
(hoàn tác) để có kết quả không đạt yêu cầu). Đơn giản chỉ cần tự điều chỉnh nó ( X
cho backspace).
:s/./% \0\r/
để thêm%
và dòng mới ... Tuy nhiên, không phải là một giải pháp tuyệt vời ...