56 votes

Supprimer tous les espaces arbitraires avant une ligne dans Vim

J'ai écrit un plugin où il s'agit d'analyser une balise XML. Le contenu à l'intérieur de la balise est en retrait et lorsque je copie la chaîne analysée dans le fichier, cela ressemble à :

     Example line
        This is part of the parsed line
        Thats goes one
    End of line

Ce que je veux, c'est supprimer tous les espaces devant ces lignes, le texte final devrait être

 Example line
This is part of the parsed line
Thats goes one
End of line

J'ai essayé d'utiliser = mais cela ne fonctionne pas comme je le souhaite. Comment puis-je le faire avec un minimum de frappes ?

148voto

Peter Rincker Points 14594

Pour formater une ligne à gauche, j'utilise :left . Utilisez ce format pour un fichier entier :

 :%le

13voto

Lukáš Lalinský Points 22537

Une simple recherche/remplacer s/^\s*// devrait faire l'affaire, mais ce n'est probablement pas la version minimale.

9voto

Randy Morris Points 16975

Personnellement, je sélectionnerais visuellement les lignes avec V , puis utiliserais 99< pour pousser le texte aussi loin que possible.

6voto

Simon Points 1176

Tapez simplement d suivi de w suivi de j au début de chaque ligne.

4voto

chris Points 2493

Que dis-tu de ça:

 :%s/^ *//

Ou cherchez-vous une solution de script vim ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X