Ich finde, dass Makros eine großartige Möglichkeit sind, ungewöhnliche Dinge zu tun, wenn Sie daran interessiert sind, dies nur einmal in einem blauen Mond zu tun. Angenommen, Sie haben die folgende Tabelle:
%
% 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
Und lassen Sie uns sagen , Sie ersetzen möchten Some Msg
mit Other Message
. Lassen Sie uns zunächst die Tabelle für das zusätzliche Zeichen erweitern (Zeile vor dem letzten 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
Das Makro, das ich entwickeln werde, wird sich darum kümmern, den Text von horizontal in vertikal zu konvertieren, während der alte Text ersetzt wird. Beginnen Sie, indem Sie den Text an der ersten Stelle eingeben (der Cursor befindet sich am Ende von 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
Zeichnen Sie das folgende Makro auf:
qq
: Startet die Aufnahme eines Makros mit dem Namen q
^
: zum Zeilenanfang gehen
3l
: Gehen Sie zu der Spalte, in der der Text platziert werden soll
x
: löscht das alte Zeichen
l
: bewege dich nach rechts und lasse ein Zeichen aus der Nachricht anstelle des alten Zeichens:
v
: In den visuellen Modus wechseln
f|
: springen zu |
2h
: Zwei Zeichen zurück
d
: Auswahl abschneiden
j
: sich abwärts bewegen
P
: Einfügen vor dem Cursor
q
: Beenden Sie die Aufzeichnung des Makros
Zu diesem Zeitpunkt haben Sie:
%
% 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
Wiederholen Sie das Makro so oft, wie Sie es geschätzt haben (dh wie viele Zeichen Sie haben, aber Sie müssen es nicht im Voraus wissen. Unterschätzen Sie es einfach und fahren Sie fort, sobald Sie sehen, wie nah Ihre Schätzung war). Also lass uns mitgehen 10@q
. Du erhältst:
%
% 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, noch eine ( @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
Ihr Cursor befindet sich jetzt auf dem letzten e
. Das Makro funktioniert mit dem letzten Buchstaben nicht gut (Sie können versuchen, mit @q
und dann u
(rückgängig) unbefriedigende Ergebnisse zu erzielen). Einfach selbst einstellen ( X
für Rücktaste).
:s/./% \0\r/
die%
Zeilen und Zeilenumbrüche hinzufügen ... Keine großartige Lösung ...