Comment remplacer une nouvelle ligne dans Atom?

dans Atom, si j'active le mode regex sur l'outil search-and-replace, il peut trouver newlines comme n, mais quand j'essaie de les remplacer, ils sont toujours là.

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

23
demandé sur djsadinoff 2015-07-14 10:53:33

5 réponses

Ressemble Atome correspond à des retours à la ligne \r\n mais se comporte de manière incohérente en remplaçant juste le \n de rien.

ainsi les nouvelles lignes semblent correspondre \s+ et \r\n, et seulement "la moitié" de la ligne de fin correspond à \n.

  • Si vous remplacez \n avec une chaîne, rien n'arrive à la ligne de fin, mais la chaîne est ajoutée à la ligne suivante
  • Si vous remplacez \r avec une chaîne de caractères, il ne se passe rien d'autre que le curseur avance.
29
répondu djsadinoff 2015-07-14 07:53:33

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

\r?\n|\r

BR

10
répondu Alphan 2017-09-13 08:20:19

Vous pouvez utiliser backreferencing:

par exemple. Remplacer les lignes à triple blanc par une seule ligne à blanc

Trouver les regex: (\r\n){3}

remplacer: $1

vous pouvez indiquer deux lignes vides avec (\r\n){2} ... ou tout nombre n de lignes vierges avec (\r\n) {n}. Et vous pouvez omettre le 1 $et laisser remplacer le vide pour supprimer les lignes vides complètement.

Si vous vouliez remplacer 3 lignes vides avec deux, votre chaîne de remplacement peut être $1$1 $1$2 (ou même 1 $ 3 ... 3 $ 3$... 3 $ 2$... ): $1 se réfère juste à la première expression entre crochets ronde \r\n; $2 avec la seconde (qui est la même que la première, donc $1$1 remplace la même façon que $1$2 parce que $1 == $2). Cela se généralise à n lignes blanches.

2
répondu espigel 2017-06-14 14:25:16

les puristes n'aimeront probablement pas ma solution, mais vous pouvez aussi transformer les entrées find et replace en une boîte de texte multiligne en copiant le contenu avec plusieurs sauts de ligne et en le collant dans les entrées find/replace. Il fonctionnera avec ou sans utilisation de regex.

par exemple, vous pouvez copier ces 3 lignes et les coller dans les entrées find et replace:

line 1
line 2
line 3

maintenant que vos entrées ont le nombre de lignes dont vous avez besoin, vous pouvez les modifier comme vous voulez (et ajouter regex si nécessaire).

0
répondu pmrotule 2016-09-08 08:01:58

DELETE INVISIBLE LINE BREAKS IN CODE WITH ATOM (utilisant la fonction "Find in buffer")

(- ouvrez votre fichier-code avec L'Atom-Editor)

  • cliquez sur cmd(mac)/ctrl(win) + f sur votre clavier pour activer la fonction Find in buffer (une petite fenêtre apparaît au bord inférieur de l'atome-écran).

  • marquez votre Code dans lequel vous voulez supprimer la ligne invisible briser.

  • cliquez sur le bouton Markup-Mode et ensuite sur Regex-Mode (.* ) Cliquez et tapez dans le premier champ: \n

  • après ce clic, remplacez tout.

[et Atom supprimera tous les sauts de ligne invisibles indiqués par \n (Si vous utilisez le coin en bas à droite en Mode LF, pour le Mode CRLF (très courant sur les machines windows par défaut) utilisez \r\n) en les remplaçant par rien.]

espérons que aider.

Synaikido

0
répondu Synaikido 2018-06-09 15:51:08