Je trouve que les macros sont un excellent moyen de faire des choses inhabituelles si vous êtes intéressé à le faire pas plus d'une fois dans une lune bleue. Disons que vous avez le tableau suivant:
%
% 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
Et disons que vous souhaitez remplacer Some Msg
par Other Message
. Tout d'abord, étendons la table pour le caractère supplémentaire (ligne avant-dernière 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
La macro que je vais proposer va prendre soin de convertir le texte de l'horizontale en verticale tout en remplaçant l'ancien texte. Commencez par taper le texte au premier emplacement (le curseur est à la fin de 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
Enregistrez la macro suivante:
qq
: démarrer l'enregistrement de la macro nommée q
^
: aller au début de la ligne
3l
: passer à la colonne où le texte va être placé
x
: supprimer l'ancien caractère
l
: déplacez-vous vers la droite, en laissant un caractère du message à la place de l'ancien caractère:
v
: passer en mode visuel
f|
: sauter à |
2h
: reculer de deux caractères
d
: sélection de coupe
j
: descendre
P
: coller avant le curseur
q
: terminer l'enregistrement de la macro
À ce stade, vous avez:
%
% 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
Répétez la macro suffisamment de fois (c'est-à-dire le nombre de caractères, mais vous n'avez pas besoin de le savoir à l'avance. Il suffit de sous-estimer et de continuer une fois que vous voyez à quel point votre estimation était proche). Alors allons-y 10@q
. Vous recevez:
%
% 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, encore un ( @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
Votre curseur est maintenant sur le dernier e
. La macro ne fonctionne pas bien avec la dernière lettre (vous pouvez essayer avec @q
puis u
(annuler) pour des résultats insatisfaisants). Réglez-le simplement vous-même ( X
pour le retour arrière).
:s/./% \0\r/
pour ajouter le%
et les nouvelles lignes ... Pas une bonne solution, cependant ...