2017-08-12 1 views
0

Aimeriez-vous savoir comment créer une macro Emacs qui vasupprimer plusieurs périodes jusqu'à Bracket partir d'une chaîne

  1. Trouver la première instance de plusieurs périodes dans la chaîne
  2. Définir la marque
  3. Déplacer vers la première support fermé dans la chaîne
  4. Supprimer tous les caractères entre marque et support fermé

Voici un exemple de chaîne. Je voudrais passer de ceci:

* [This is Chapter 1.......................................................... 1-83](chapter1.md)

à ceci: * [This is Chapter 1](chapter1.md)

Quelqu'un peut-il aider?

Merci

Répondre

0

Voici la manière hacky que j'ai accomplie. Je suis sûr qu'il y a une façon plus propre.

  1. Démarrer avec le curseur en début de ligne
  2. M-x start-kbd-macro
  3. C-s RET .. pour rechercher première instance de ".." dans la chaîne
  4. C-SPACE pour définir marque
  5. C-s ] pour rechercher d'abord instance de "]" dans la chaîne
  6. DEL pour enlever tout marqué
  7. BKSP BKSP pour enlever les deux derniers « .. »
  8. DWN ARROW pour se rendre à la ligne suivante
  9. C-a pour se rendre à mendier de la ligne
  10. M-x end-kbd-macro

Je sais que boiteux, mais ça a marché !! J'ai ~ 100 pages de docs pour le faire! Besoin de comprendre comment effectuer de manière fiable cela sur l'ensemble du document suivant.