J'ai écrit un plugin où il s'agit d'analyser une balise XML. Le contenu de la balise est en retrait et lorsque je copie la chaîne analysée dans le fichier, il devient comme
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 faire cela avec un minimum de touches?
Pour formater une ligne à gauche, j'utilise :left
. Utilisez ce format un fichier entier:
:%le
Une simple recherche/remplacement s/^\s*//
devrait faire l'affaire, mais ce n'est probablement pas la version minimale.
Personnellement, je sélectionnerais visuellement les lignes avec V
, puis utiliserais 99<
pour pousser le texte le plus à gauche possible.
Que dis-tu de ça:
:%s/^ *//
Ou cherchez-vous une solution vim-script?
Tapez juste d
suivi de w
suivi de j
au début de chaque ligne.
Pour supprimer les espaces et les tabulations initiaux aux numéros de ligne spécifiés (par exemple des lignes 5 à 10),
:5,10s/^\s*//
La recherche/substitution suggérée par Lukáš Lalinský ou l'approche %le
dans la page wikia est probablement la méthode que je ferais, mais vous pouvez également faire une autre alternative:
:%< 99
Comme moyen rapide de déplacer l’ensemble du fichier (%
) 99 fois vers la gauche.
Une autre méthode consiste à utiliser la commande normale :h :normal-range
:%norm d^
Cela va à la colonne 0 dans chaque ligne (% ) et supprime ( d ) du premier caractère non blanc ( ^ ).
C’est un peu plus facile à saisir en tant que réponse acceptée, mais permet une extension facile si vous avez un scénario plus complexe en tête, tel que la suppression de commentaires supplémentaire ou autre:
:%norm d^I#
Résultant en:
#Example line
#This is part of the parsed line
#Thats goes one
#End of line
Supprimer tous les espaces consécutifs: :%s/ */ /g
Cela m'a été utile de partir de:
$screen-xs-min: 480px;
$screen-sm-min: 768px;
$screen-md-min: 992px;
$screen-lg-min: 1200px;
À:
$screen-xs-min: 480px;
$screen-sm-min: 768px;
$screen-md-min: 992px;
$screen-lg-min: 1200px;