Quelle commande puis-je exécuter pour supprimer les lignes vides dans Vim?
674
:g/^$/d
:g
exécutera une commande sur les lignes qui correspondent à une expression régulière. Le regex est «ligne vide» et la commande est :d
(supprimer)
:%!cat -s
peut être le choix ..Je l'ai trouvé, c'est:
Source: Puissance de g à vim wikia
la source
ou
ou
la source
Les éléments suivants peuvent être utilisés pour supprimer uniquement les lignes vierges multiples (les réduire à une seule ligne vierge) et laisser les lignes vierges intactes:
la source
\_$
signifie la fin de ligne qui peut être utilisée à l'intérieur d'un modèle ($
ne peut être utilisée qu'à la fin du modèle.) Il en va de même\_^
pour le début d'une ligne et peut être utilisé n'importe où à l'intérieur du modèle. Ainsi, le motif correspond à une ligne vide, une nouvelle ligne et à nouveau une ligne vide. Voir la page d'aide de Vim regex .:g/^$/,/./-j
comment supprimer toutes les lignes vides
(faites cela plusieurs fois, toutes les lignes vides ont disparu)
comment supprimer toutes les lignes vides en laissant SINGLE ligne vide
(faites cela plusieurs fois)
comment supprimer toutes les lignes vides laissant DEUX lignes vides AU MAXIMUM,
(faites cela plusieurs fois)
pour entrer ^ M, je dois contrôler-Q et contrôler-M dans les fenêtres
la source
\r
à la place duCtrl-M
.Que diriez-vous:
la source
travailler avec perl dans vim:
:%!perl -pi -e s/^\s*$//g
la source
chomp
aussi le travail?Ça marche pour moi
:%s/^\s*$\n//gc
la source
:%s/^\n//gc
Cette fonction ne supprime que deux ou plusieurs lignes vides, placez les lignes ci-dessous dans votre vimrc, puis utilisez \ d pour appeler la fonction
la source
J'ai essayé quelques-unes des réponses sur cette page, mais beaucoup d'entre elles ne fonctionnaient pas pour moi. Peut-être parce que j'utilise Vim sur Windows 7 (ne vous moquez pas, ayez juste pitié de moi: p)?
Voici le plus simple que j'ai trouvé qui fonctionne sur Vim dans Windows 7:
Voici une réponse plus longue sur le Vim Wikia: http://vim.wikia.com/wiki/Remove_unwanted_empty_lines
la source
pâte
dans votre .vimrc, puis redémarrez votre vim. si vous utilisez la commande: 5,12DBL, elle supprimera toutes les lignes vides entre la 5e ligne et la 12e ligne. Je pense que ma réponse est la meilleure réponse!
la source
Si quelque chose a doublé l'espacement de votre texte, cette commande supprimera le double espacement et fusionnera les lignes blanches répétitives préexistantes en une seule ligne vierge. Il utilise un délimiteur temporaire de ^^^ au début d'une ligne, donc si cela se heurte à votre contenu, choisissez autre chose. Les lignes contenant uniquement des espaces sont traitées comme vides.
la source
Appuyez sur la deletetouche en mode insertion pour supprimer les lignes vides.
la source
Cela a fonctionné pour moi:
Il supprime essentiellement toutes les lignes qui n'ont ni chiffre ni lettre. Étant donné que tous les éléments de ma liste avaient des lettres, il a supprimé toutes les lignes vides.
la source