Une de mes parties préférées sur les registres est de les utiliser comme macros!
Supposons que vous traitez un fichier de valeurs délimité par des tabulations en tant que tel:
ID Df %Dev Lambda
1 0 0.000000 0.313682
2 1 0.023113 0.304332
3 1 0.044869 0.295261
4 1 0.065347 0.286460
5 1 0.084623 0.277922
6 1 0.102767 0.269638
7 1 0.119845 0.261601
Vous décidez maintenant que vous devez ajouter un signe de pourcentage à la fin du champ% Dev (à partir de la 2e ligne). Nous allons créer une macro simple dans le m
registre (sélectionné arbitrairement) comme suit:
Appuyez sur:: qm
pour démarrer l'enregistrement de la macro sous le m
registre.
EE
: Allez à la fin de la 3e colonne.
a
: Mode d'insertion à ajouter à la fin de cette colonne.
%
: Saisissez le signe de pourcentage que nous voulons ajouter.
<ESC>
: Revenez en mode commande.
j0
: Aller au début de la ligne suivante.
q
: Arrêter l'enregistrement de la macro
Nous pouvons maintenant simplement taper @m
pour exécuter cette macro sur la ligne actuelle. De plus, nous pouvons taper @@
pour répéter, ou 100@m
pour le faire 100 fois! La vie semble plutôt belle.
À ce stade, vous devriez dire: " MAIS ATTENDRE, QU'EST-CE QUE LE HECK DOIT FAIRE AVEC LES REGISTRES ?"
Excellent point. Examinons ce qu'il y a dans le contenu du m
registre en tapant "mp
. Nous obtenons ensuite les éléments suivants:
EEa%<ESC>j0
Au début, cela ressemble à vous avez accidentellement ouvert un fichier binaire dans le bloc-notes, mais au deuxième coup d'œil, c'est la séquence exacte de caractères dans notre macro!
Vous êtes une personne curieuse, alors faisons quelque chose d'intéressant et modifions cette ligne de texte pour insérer un !
ancien au lieu d'être ennuyeux %
.
EEa!<ESC>j0
Ensuite, tirons ceci dans le n
registre en tapant B"nyE
. Ensuite, juste pour les coups de pied, exécutons la n
macro sur une ligne de nos données en utilisant @n
....
OMG, IL A AJOUTÉ UN !
Essentiellement, exécuter une macro revient à appuyer sur la séquence exacte de touches dans le registre de cette macro. Si ce n'est pas un truc de registre sympa, je vais manger mon chapeau.