vim regex pour remplacer plusieurs espaces consécutifs avec un seul espace

Je travaille souvent avec des fichiers texte qui ont une quantité variable d'espaces comme des séparateurs de mots (traitements de texte comme Word, de distribuer équitablement les espaces montant dû aux différentes tailles de lettres dans certaines polices de caractères et ils ont mis cette fâcheuse quantité variable d'espaces, même lors de l'enregistrement en tant que texte brut).

Je voudrais automatiser le processus de remplacement de ces séquences d'espaces qui ont de longueur variable avec des espaces simples. Je soupçonne une regex pourrait le faire, mais il y a aussi des espaces au début des paragraphes (généralement quatre d'entre eux, mais pas toujours), à laquelle je voudrais laisser inchangé, donc, fondamentalement, ma regex convient également de ne pas toucher la pointe d'espaces et de ce qui ajoute à la complexité.

J'utilise vim, donc une regex dans le vim regex dialecte serait très utile pour moi, si c'est faisable.

Au courant de mes progrès ressemble à ceci:

:%s/ \+/ /g

mais il ne fonctionne pas correctement.

J'envisage aussi d'écrire un script vim qui a pu analyser les lignes de texte un par un, chaque ligne de char par char et ignorer les espaces après le premier, mais j'ai le sentiment que ce serait exagéré.

  • Bon pour un reformatage verticalement alignées code 🙂
InformationsquelleAutor jedi_coder | 2010-10-05