Uważam, że makra to świetny sposób na robienie niezwykłych rzeczy, jeśli jesteś zainteresowany zrobieniem tego nie więcej niż raz na niebieskim księżycu. Powiedzmy, że masz następującą tabelę:
%
% 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
I powiedzmy, że chcesz zamienić Some Msg
z Other Message
. Po pierwsze, powiększmy tabelę o dodatkowy znak (wiersz przed ostatnim 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
Makro, które zamierzam wymyślić, zajmie się konwertowaniem tekstu z poziomego na pionowy, zastępując jednocześnie stary tekst. Zacznij od wpisania tekstu w pierwszej lokalizacji (kursor znajduje się na końcu 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
Zapisz następujące makro:
qq
: rozpocznij rejestrowanie makra o nazwie q
^
: przejdź do początku linii
3l
: przejdź do kolumny, w której ma zostać umieszczony tekst
x
: usuń stary znak
l
: przesuń w prawo, pozostawiając jeden znak z wiadomości zamiast starego znaku:
v
: przejdź do trybu wizualnego
f|
: Skocz do |
2h
: cofnij dwie postacie
d
: cięcie zaznaczenia
j
: padnij
P
: wklej przed kursorem
q
: zakończ nagrywanie makra
W tym momencie masz:
%
% 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
Powtórz makro tyle razy (tj. Liczbę znaków, ale nie musisz go znać wcześniej. Po prostu nie doceniaj i kontynuuj, gdy zobaczysz, jak blisko była twoja ocena). Więc chodźmy 10@q
. Dostajesz:
%
% 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, jeszcze jeden ( @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
Twój kursor jest teraz na ostatnim e
. Makro nie działa dobrze z ostatnią literą (możesz spróbować z, @q
a następnie u
(cofnąć), aby uzyskać niezadowalające wyniki). Po prostu dostosuj to sam ( X
dla backspace).
:s/./% \0\r/
dodać%
i nowe wiersze ... Nie jest to jednak świetne rozwiązanie ...