web-dev-qa-db-fra.com

Dans Sublime Text 3: existe-t-il un raccourci pour supprimer les lignes vides dans un texte sélectionné? (idem pour les blancs sur une ligne)

Ma question est très simple:

Existe-t-il un raccourci dans Sublime Text 3 qui permet de supprimer les lignes vides dans un texte sélectionné? (idem pour les blancs sur une ligne)

Par exemple, comment faire ce texte:

a

b

c

Devenir:

a
b
c

Et cette ligne:

I need to remove these blanks.

pour devenir cette ligne:

Ineedtoremovetheseblanks.

20
JohnnyH

Vous n'avez pas besoin d'un plugin pour le faire, une simple recherche regex et un remplacement suffiront. Tout d'abord, sélectionnez le texte où vous souhaitez supprimer les lignes vides. Sélectionnez ensuite Find → Replace… (ou, appuyez sur CtrlH sous Windows/Linux, F sous OS X). Assurez-vous que les boutons "Expression régulière" et "En sélection" sont sélectionnés:

find/replace dialog

Dans Find What:, entrer ^\n, et assurez-vous que le Replace With: le champ est vide. Ensuite, appuyez simplement sur "Remplacer tout" et ceci:

before replace

devient ceci:

after replace

Comme explication, l'expression régulière ^\n recherche le début d'une ligne (^) immédiatement suivi d'un caractère de nouvelle ligne (\n). Si vous pensez que certaines de vos lignes "vides" contiennent des espaces, comme des espaces ou des tabulations, vous pouvez utiliser ^\s*\n au lieu - \s* correspond à 0 ou plusieurs espaces, y compris les caractères de nouvelle ligne.

Pour votre deuxième exemple, utilisez les mêmes paramètres de recherche/remplacement que ci-dessus, sauf que votre expression régulière doit simplement être \s*.

51
MattDMo

Il existe un package appelé Trimmer . Vous pouvez l'installer via le contrôle de package.

Après avoir obtenu le package, vous pouvez utiliser ses fonctionnalités. Mettez simplement en surbrillance le texte que vous souhaitez modifier (ou ne sélectionnez rien si vous souhaitez modifier l'intégralité du fichier), puis choisissez:

1) Édition> Ligne> Supprimer les lignes vides

2) Édition> Ligne> Supprimer les espaces vides

Alternativement, comme l'a déjà souligné la réponse de Chris, vous pouvez utiliser la fonctionnalité classique de recherche et remplacement qui est déjà présente dans l'éditeur.

7
Simone

Comme ma réponse d'origine était incorrecte, j'ai trouvé ce package qui conviendra à vos besoins.

Le package est appelé DeleteBlankLines, pour Sublime Text 3, a la possibilité de supprimer des lignes vides pour tout le document et dans le texte sélectionné uniquement, le tout à partir d'un coup de touche comme vous l'avez fait après.

Le package peut être trouvé ici:

https://packagecontrol.io/packages/DeleteBlankLines

2
Chris