Vim supprimer les lignes vierges
quelle commande puis-je exécuter pour supprimer les lignes vides dans Vim?
14 réponses
:g/^$/d
:g
exécutera une commande sur les lignes qui correspondent à un regex. Le regex est 'blank line' et la commande est :d
(supprimer)
on peut utiliser ce qui suit pour supprimer seulement les lignes à plusieurs blancs (les réduire à une seule ligne) et laisser intactes les lignes à un seul blanc:
:g/^\_$\n\_^$/d
-
comment supprimer toutes les lignes à blanc
:%s,\n\n,^M,g
(plusieurs fois util toutes les lignes vides sont allés disparu)
-
comment supprimer toutes les lignes vides
:%s,\n\n\n,^M^M,g
(plusieurs fois)
-
comment supprimer toutes les lignes à blanc laissant deux lignes vides au MAXIMUM,
:%s,\n\n\n\n,^M^M^M,g
(plusieurs fois)
pour entrer ^M, je dois contrôler-Q et contrôle-M dans windows
cette fonction ne supprime que deux lignes vierges ou plus, placez les lignes ci-dessous dans votre vimrc, puis utilisez \d pour appeler la fonction
fun! DelBlank()
let _s=@/
let l = line(".")
let c = col(".")
:g/^\n\{2,}/d
let @/=_s
call cursor(l, c)
endfun
map <special> <leader>d :keepjumps call DelBlank()<cr>
j'ai essayé quelques réponses sur cette page, mais beaucoup d'entre eux ne fonctionne pas pour moi. Peut-être parce que J'utilise Vim sur Windows 7 (ne vous moquez pas, ayez pitié de moi :p)?
voici le plus facile que j'ai trouvé qui fonctionne sur Vim dans Windows 7:
:v/\S/d
Voici une réponse plus longue sur la Wikia Vim: http://vim.wikia.com/wiki/Remove_unwanted_empty_lines
:g/^\s*$/d
^ begin of a line
\s* at least 0 spaces and as many as possible (greedy)
$ end of a line
coller
:command -range=% DBL :<line1>,<line2>g/^\s*$/d
dans votre .vimrc,puis redémarrez votre vim. si vous utilisez la commande: 5,12 DBL il supprimera toutes les lignes vides entre la cinquième et la douzième ligne. Je pense que ma réponse est la meilleure réponse!
si quelque chose a un double interligne de votre texte, alors cette commande supprimera le double interligne et fusionnera les lignes vides répétitives préexistantes en une seule ligne vide. Il utilise un délimiteur temporaire de ^^^ Au début d'une ligne donc si cela entre en conflit avec votre contenu, Choisissez autre chose. Les lignes ne contenant que de l'espace blanc sont traitées comme des lignes vierges.
%s/^\s*\n\n\+/^^^\r/g | g/^\s*$/d | %s/^^^^.*
cela a fonctionné pour moi:
:%s/^[^a-zA-Z0-9]$\n//ig
il supprime essentiellement toutes les lignes qui n'ont pas de numéro ou de lettre. Comme tous les éléments de ma liste avaient des lettres, elle supprimait toutes les lignes vierges.
appuyer sur supprimer touche en mode insertion pour supprimer les lignes vides.