Bloc-notes ignorant les sauts de ligne [dupliquer]


36

La plupart des documents que j'ouvre dans notepad.exe sous Windows 7 ces derniers temps, il n'y a pas de sauts de ligne ... tout va bien ensemble. Les mêmes documents dans n'importe quel autre programme, même prévisualisés directement dans l'Explorateur, afficheront correctement les sauts de ligne. cela se produit avec beaucoup de fichiers .info, .css, .js .. mais pas tous.

Je suppose que c'est une sorte de caractère encodant des fins de ligne unix, mais je me demande si je peux faire quelque chose ou si quelqu'un d'autre a vécu une expérience similaire et si je peux faire fonctionner le bloc-notes correctement. Je le préfère au bloc-notes ++ / autres éditeurs de texte pour certaines utilisations.


Voir stackoverflow.com/a/50241693/6309 : Le bloc-notes ne prend actuellement en charge \ n (Windows 10, Q2 2018)
VonC

Réponses:


45

Il y a des sauts de ligne, mais différents systèmes d'exploitation reconnaissent différentes séquences pour les sauts de ligne.

Le Bloc-notes ne reconnaît que CR, LF (0x0d, 0x0a), alors que d'autres sources peuvent utiliser uniquement CR, ou LF uniquement.

Vous ne pouvez pas faire en sorte que le Bloc-notes se comporte différemment. Votre seule option est donc de vous assurer que le contenu a la bonne séquence pour le Bloc-notes. Notez que le bloc-notes est le seul éditeur à avoir cette restriction. Par conséquent, si votre contenu fonctionne dans le bloc-notes, il fonctionnera partout ailleurs.

Un moyen simple de corriger les sauts de ligne consiste à copier et coller le texte dans Word, puis de nouveau dans le bloc-notes et les sauts de ligne seront "corrigés" en séquence CR, LF.


36
aha! Cela ressemble un peu à oublier de bloc-notes pourrait être beaucoup plus facile; P
Damon

1
Absolument (rembourrage).
Paul

3
Je pense qu'il est vraiment déconcertant que cette limite de vingt ans n'ait jamais été corrigée ...
Haroldo_OK

1
ouvrir avec mot, sauvegarder, puis ouvrir avec bloc-notes ... aucun copier-coller nécessaire
Gavin Palmer

2
Bonne nouvelle, la technologie arrive enfin .
mkobit

9

Wordpad

Si votre aversion pour notepad ++ et les autres éditeurs de texte est qu’ils ne font pas partie intégrante de tous les systèmes Windows, utilisez Wordpad. Ce n'est pas aussi rudimentaire que le Bloc-notes.

Wordpad lira et affichera correctement les fichiers texte avec des fins de ligne Unix.

Autre

Si vous êtes opposé aux deux éditeurs de texte vrais, alors notepad ++ est probablement un bon choix.


Mon problème avec notepad ++ pour une visualisation / édition très rapide, c’est que plusieurs documents restent ouverts à moins que je ne les ferme spécifiquement; juste ne se sent pas bien pour cet usage. Je peux simplement réassocier des fichiers de type texte avec Wadpad et m'assurer que c'est dans mon open with...menu.
Damon

2
Pour tous ceux qui liront ceci quelques années plus tard, vous pouvez désactiver cette fonctionnalité dans les préférences. Cela ressemble à "Mémoriser la session en cours pour le prochain lancement"
Uberfuzzy

2
@ Damon Je détestais aussi ce comportement, mais vous pouvez le désactiver. Il vous suffit de configurer Notepad ++ pour ne pas rouvrir d'anciennes sessions. Allez dans Paramètres -> Préférences -> Sauvegarde. Décochez la case "Se souvenir de la session en cours pour le prochain lancement".
Bacon Bits

Cela voudrait dire que le problème n’est pas tant de vouloir l’éditeur de texte porté sous Windows, c’est autant que de vouloir que Windows fournisse au moins un éditeur de texte correct. Je ne compterais ni MS Word ni WordPad comme des "éditeurs de texte", ces outils produisant plutôt des rapports que la modification de texte. Le texte ne vient pas nécessairement avec des pages ou doit tenir sur des pages. Toujours en 2018 et Windows 10, je n'ai rien trouvé de tel.
patrik

5

Vous pouvez écrire un script batch simple :

@ECHO OFF
TYPE %1 | FIND /V "" >%1.1
MOVE %1.1 %1 > NUL 2>&1
START "NOTEPAD" C:\WINDOWS\SYSTEM32\NOTEPAD.EXE %1
EXIT /B

Enregistrez ceci notepad.batdans le répertoire de votre choix. Ensuite, au lieu d’ouvrir vos fichiers .info/ .css/ .jsavec le Bloc-notes, ouvrez-les avec ce script de traitement par lots. Il convertira automatiquement toutes les fins de ligne Unix en DOS, puis ouvrira le fichier avec Notepad.

Désavantages:

  • Chaque fois que vous ouvrez le programme, il ajoute une nouvelle ligne à la fin du fichier. (Fixé par @mpag )
  • Ouvre une fenêtre d'invite de commande (corrigé à l'aide STARTde la ligne 4)
  • Change la date de création du fichier en date actuelle


une autre recommandation. remplacez la startligne par START "NOTEPAD" "%SystemRoot%\System32\NOTEPAD.EXE" %1généraliser pour les cinglés dont le lecteur racine est D ou WinNT pour leur répertoire windows.
Mpag

@mpag Bien sûr, sauf que je ne ressens pas le besoin de modifier cela dans ma réponse. Quiconque sera assez fou pour que son répertoire racine ne soit pas récupéré ne C:recevra aucun support de ma part. C:est le standard depuis la sortie de DOS en 1981.
MD XF

1
préserver l'horodatage:mkdir %1.dir TYPE %1 | FIND /V "" >%1.dir\%1 robocopy . %1.dir %1 /copy:t >NUL 2>&1 move %1.dir\%1 . > NUL 2>&1 rmdir %1.dir
mpag

Ou vous pouvez simplement utiliser cet utilitaire préexistant.
mbomb007

4

Comme Notepad ++ a été spécifiquement mentionné dans l'OP, il dispose (du moins à présent) des paramètres nécessaires sous:

Édition -> Conversion EOL -> Format Windows.


La version Notepad ++ 7.5.9, les options porte le nom "Windows (CR LF)" sous Conversion EOL.
André M. Faria

3

Vous devez modifier le type d'encodage à la ligne utilisé dans le fichier.

Sous Linux, il existe un programme appelé "unix2dos" qui peut le faire pour vous. Je ne suis pas sûr que Windows soit livré avec un tel programme, mais il semble qu'il en existe un similaire disponible ici: http://www.thefreecountry.com/tofrodos/

Il existe plus d'informations à propos de ce processus dans Wikipedia: http://fr.wikipedia.org/wiki/Unix2dos, où vous pouvez obtenir des exemples de différents programmes en ligne de commande pouvant effectuer le changement.


si vous avez installé Sublime, vous pouvez choisir View->Line endings -> Windows, puis enregistrer le fichier pour l’écraser. Dans ce cas, les fins de ligne unix deviendront au format Windows. Si vous ouvrez ce fichier enregistré dans le Bloc-notes, les fins de ligne seront affichées correctement.
Junior M

1

Une autre chose que vous pouvez faire: Ouvrez le fichier dans WordPad, puis enregistrez-le. Cela corrigera les fins de ligne. C'est la méthode la plus rapide.


1

Vous avez raison de dire que c'est un problème avec les fins de ligne Unix. Il existe plusieurs fins de ligne différentes , mais trois variantes sont les plus courantes:

  • "U + 000A LINE FEED" (LF): Unix, Linux, macOS, etc.
  • "U + 000D CARRIAGE RETURN" (CR): macOS classique entre autres
  • "U + 000D CARRIAGE RETURN" suivi de "U + 000A LINE FEED" (CRLF): Windows et autres systèmes d'exploitation non Unix / IBM

Les versions plus anciennes de Notepad ne reconnaissent que CRLF, mais les versions plus récentes prennent en charge CRLF, CR et LF .

Aucun paramètre ne permet de modifier ce comportement dans les anciennes versions de Notepad, mais vous pouvez revenir à l'ancien comportement de la nouvelle version . La plupart des autres programmes grand public ont fonctionné avec les trois fins de ligne pendant un certain temps, donc si votre contenu fonctionne dans des versions plus anciennes de Notepad, il devrait fonctionner un peu partout ailleurs.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.