web-dev-qa-db-fra.com

Comment remplacer une nouvelle ligne dans Atom?

Dans Atom, si j'active le mode regex sur l'outil de recherche et remplacement, il peut trouver des nouvelles lignes sous la forme \n, mais lorsque j'essaie de les remplacer, elles sont toujours présentes. 

N'y a-t-il aucun moyen de remplacer une chaîne de nouvelle ligne dans Atom?

24
djsadinoff

On dirait qu'Atom correspond aux nouvelles lignes en tant que \r\n mais se comporte de manière incohérente lorsqu’on remplace simplement le \n par rien.

Les nouvelles lignes semblent donc correspondre à \s+ et \r\n, et seule "la moitié" de la fin de ligne correspond à \n

  • Si vous remplacez \n par une chaîne, rien ne se passe pour la fin de ligne, mais la chaîne est ajoutée à la ligne suivante.
  • Si vous remplacez \r par une chaîne, rien ne se passe, mais le curseur avance.
29
djsadinoff

C'est un peu tard pour répondre mais j'utilise le terme suivant pour rechercher et cela fonctionne avec Atom v1.19.7 x64

\r?\n|\r

BR

20
Alphan

Vous pouvez utiliser la référence arrière:

par exemple. Remplacez les lignes triples vides par une seule ligne vierge

Rechercher une expression régulière: (\ r\n) {3}

Remplacez: 1 $

Vous pouvez indiquer des lignes doubles vides avec (\ r\n) {2} ... ou n'importe quel nombre n de lignes vides avec (\ r\n) {n}. Et vous pouvez omettre le $ 1 et laisser Remplacer vierge pour supprimer complètement les lignes vides.

Si vous souhaitez remplacer 3 lignes vides par deux, votre chaîne de remplacement peut être remplacée par 1 $ 1 $ ou 1 $ 2 $ (ou même 1 $ 3 $ ... 3 $ 3 € ... 3 $ 2 $ ...): 1 $ correspond simplement à la première expression entre crochets.\r\n; $ 2 avec le second (qui est identique au premier, donc $ 1 $ 1 remplace le même chemin que $ 1 $ 2 car $ 1 == $ 2). Ceci se généralise à n lignes vides.

2
espigel

SUPPRIMER LES RUPTURES DE LIGNE INVISIBLES EN CODE AVEC ATOME (en utilisant la fonction "Chercher dans le tampon")

(- ouvrez votre fichier de code avec l'éditeur Atom)

  • Appuyez sur cmd (mac)/ctrl (win) + f sur votre clavier pour activer la fonction Rechercher dans la mémoire tampon (une petite fenêtre apparaît au bas de l'écran Atome).

  • Marquez votre code dans lequel vous souhaitez supprimer les sauts de ligne invisibles.

  • Cliquez sur le bouton Markup-Mode, puis sur le bouton Regex-Mode (. *) Et tapez dans le premier champ:\n

  • Après cela, cliquez sur tout remplacer.

[Et Atom supprimera tous les sauts de ligne invisibles indiqués par\n (si vous utilisez le coin inférieur droit du mode LF, utilisez\r\n pour le mode CRLF (très courant sur les machines Windows) en les remplaçant par rien. ]

J'espère que cela pourra aider.

Synaikido

1
Synaikido

Les puristes n'apprécieront probablement pas ma solution, mais vous pouvez également transformer les entrées rechercher et remplacer en une zone de texte multiligne en copiant le contenu avec plusieurs sauts de ligne et en le collant dans les entrées recherche/remplacement. Cela fonctionnera avec ou sans utilisation de regex.

Par exemple, vous pouvez copier ces 3 lignes et les coller dans les entrées de recherche et de remplacement:

line 1
line 2
line 3

Maintenant que vos entrées ont le nombre de lignes dont vous avez besoin, vous pouvez les modifier à votre guise (et ajouter des regex si nécessaire).

0
pmrotule