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 Msgz 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, @qa następnie u(cofnąć), aby uzyskać niezadowalające wyniki). Po prostu dostosuj to sam ( Xdla backspace).
:s/./% \0\r/dodać%i nowe wiersze ... Nie jest to jednak świetne rozwiązanie ...