Bonjour, suite à un souhait discuté sur le forum linux-mint, nous en sommes arrivés à la piste “utiliser LibreOffice Writer avec des macros”.
Le souhait en question est de créer une programmation que je puisse déclencher pour rechercher-remplacer des chaînes de texte pur dans un code. Très concrètement, ce sont des pages html que je peaufine. Je récupère le code cracra et je le nettoie. Ajouter des espaces insécables devant les ponctuations hautes (un :
va devenir un :
), chasser les balises inutiles générées par les modifs de texte (un </strong><strong>
sera supprimé, un <br></p>
deviendra simple </p>
, etc.) et j’en passe.
SublimeText (le logiciel que j’utilise pour afficher et modifier mon code html de façon graphique) ne semble pas proposer ce type de fonctions.
Mais LibreOfficeWriter pourrait faire le job, soit avec des macros, soit avec des fonctionnalités de l’extension AltSearch.
Je ne connais rien en macros.
Donc j’ai d’abord cherché côté AltSearch (https://extensions.libreoffice.org/en/extensions/show/70066) qui propose un mode “par lot” (ou batch-mode en anglais)
J’ai trouvé assez facilement comment enregistrer UN rechercher-remplacer (l’écrire dans les champs rechercher-remplacer de AltSearch, puis cliquer sur “enregistre le lot”)
Par contre, quand je vais ensuite dans la fenêtre “Lot >>”, je trouve un boutons pour faire des raccourcis clavier (“key shortcuts”) et un autre appelé “multiple execution” mais qui, apparemment, permet seulement d’appliquer UN SEUL LOT enregistré sur PLUSIEURS FICHIERS Writer. Et moi c’est l’inverse que je veux faire (appliquer PLUSIEURS LOTS, dans un ordre précis, mais sur UN SEUL FICHIER).
Pourtant, je lis ça dans la présentation de l’extension
Batch mode: search and replace parameters can be saved and loaded; it is possible to save several search and replace operations in a sequence and quickly execute the whole set later with one command. [v1.4]: Execute the batch with more opened text documents together
Vous comprenez comme moi que “quickly execute the whole set later with one command” signifierait “exécuter un set complet (de plusieurs lots enregistrés, sous-entendu) en une seule commande” ?