Je suis en train d'embellir du code source à l'aide de vim. {1}
J'ai créé quelques macros vim qui effectuent les étapes individuelles: supprimer les espaces de fin, supprimer les lignes vides après {
, supprimer les lignes vides avant {
, ce genre de choses.
Maintenant, je veux créer une macro qui exécute toutes les macros individuelles dans l'ordre. Cependant, une fois la première macro récursive terminée (car elle ne trouve plus de correspondance -> erreur de correspondance), ma macro «wrapper» se termine également.
Existe-t-il un moyen de faire continuer une macro vim après qu'une sous-macro a généré une erreur?
{1} Je connais les reformatages automatiques. Je pourrais même les utiliser sur mon problème actuel. J'ai simplement mentionné le reformatage de la source dans l'intérêt de l'exemple. Ne postez aucune réponse à propos de cet embellisseur source ou de cela. La question ne concerne pas le reformatage du code en soi , mais les macros vim.
Exemple:
- Macro 1 - découpage des espaces de fin -
qw/\s\+$d$@wq
- Macro 2 - supprimer les lignes vides avant} -
qe/\n\n *}dd@eq
- Wrapper Macro - retabbing, Macro 1, Macro 2 -
qr:retab@w@eq
Lorsque @r
j'exécute le wrapper - - il se retabera, puis exécutera la macro 1 jusqu'à ce qu'il n'y ait plus d'espace blanc de fin, puis se terminera ( sans exécuter la macro 2).
Clarification:
Ce que je recherche, c'est comment appeler une sous-macro pour que, lorsque cette sous-macro se termine, la macro d'appel continue?