Bloc de notas que ignora los saltos de línea [duplicado]

36

La mayoría de los documentos que estoy abriendo en notepad.exe en Windows 7 últimamente, no hay saltos de línea ... todo simplemente funciona junto. Los mismos documentos en cualquier otro programa, incluso previsualizados directamente en Explorer, mostrarán los saltos de línea correctamente. Esto está sucediendo con muchos archivos .info, .css, .js ... pero no con todos.

Supongo que es algún tipo de carácter que codifica terminaciones de línea de Unix de una forma u otra, pero me pregunto si hay algo que pueda hacer o si alguien más ha experimentado algo similar y si puedo hacer que el bloc de notas funcione correctamente. Prefiero que notepad ++ / otros editores de texto para ciertos usos.

Damon
fuente
Consulte stackoverflow.com/a/50241693/6309 : el Bloc de notas ahora es compatible \ n (Windows 10, Q2 2018)
VonC

Respuestas:

45

Hay saltos de línea, sin embargo, diferentes sistemas operativos reconocen diferentes secuencias para los saltos de línea.

El Bloc de notas solo reconoce CR, LF (0x0d, 0x0a), mientras que otras fuentes pueden usar solo CR o LF.

No puede hacer que el Bloc de notas se comporte de manera diferente, por lo que su única opción es asegurarse de que el contenido tenga la secuencia correcta para el Bloc de notas. Tenga en cuenta que el Bloc de notas es el único editor con esta restricción, por lo que si su contenido funciona en el Bloc de notas, funcionará en cualquier otro lugar.

Una forma sencilla de arreglar los saltos de línea es copiar y pegar el texto en Word, luego volver a colocarlo en el bloc de notas, y los saltos de línea se "corregirán" a la secuencia CR, LF.

Paul
fuente
36
aha! suena un poco como deshacerse del bloc de notas que podría ser mucho más fácil; P
Damon
1
Absolutamente (relleno).
Paul
3
Creo que es realmente desconcertante que esta limitación de veinte años nunca se haya solucionado ...
Haroldo_OK
1
abrir con word, guardar, luego abrir con bloc de notas ... no es necesario copiar y pegar
Gavin Palmer
2
Buenas noticias, la tecnología finalmente está llegando .
mkobit
9

Wordpad

Si su aversión a notepad ++ y otros editores de texto es que no son una parte estándar de todos los sistemas Windows, use Wordpad. No es tan rudimentario como el Bloc de notas.

Wordpad leerá y mostrará correctamente archivos de texto con terminaciones de línea Unix.

Otro

Si eres reacio a los dos editores de texto verdaderos, notepad ++ es probablemente una buena opción.

RedGrittyBrick
fuente
mi problema con notepad ++ para una visualización / edición realmente rápida es que mantiene abiertos varios documentos a menos que los cierre específicamente; simplemente no se siente bien para ese uso. Es posible que vuelva a asociar los archivos de texto con el panel de trabajo y me asegure de que esté en mi open with...menú.
Damon
2
Para cualquiera que lea esto años después, puede desactivar esta funcionalidad en las preferencias, es algo así como "Recordar sesión actual para el próximo lanzamiento"
Uberfuzzy
2
@Damon Yo también odiaba este comportamiento, pero puedes deshabilitarlo. Solo necesita configurar Notepad ++ para no volver a abrir sesiones antiguas. Vaya a Configuración -> Preferencias -> Copia de seguridad. Desmarca "Recordar sesión actual para el próximo lanzamiento".
Bacon Bits
Diría que el problema no es tanto querer que el editor de texto sea portado con Windows, sino querer que Windows proporcione al menos un editor de texto decente. No contaría ni MS Word ni WordPad como "editores de texto", ya que el propósito de estas herramientas es generar informes, en lugar de editar texto. El texto no viene necesariamente con páginas o tiene que caber en las páginas. Todavía en 2018 y Windows 10, no he encontrado nada de esto.
patrik
5

Podría escribir un script por lotes 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

Guarde esto como notepad.baten el directorio que desee. Luego, en lugar de abrir sus archivos .info/ .css/ .jscon el Bloc de notas, ábralos con este script por lotes. Automáticamente convertirá todos los finales de línea de Unix a DOS y luego abrirá el archivo con el Bloc de notas.

Inconvenientes:

  • Cada vez que abre el programa, agrega una nueva línea al final del archivo. (Corregido por @mpag )
  • Abre una ventana del símbolo del sistema (solucionado mediante la STARTlínea 4)
  • Cambia la fecha de creación del archivo a la fecha actual
MD XF
fuente
Continuemos esta discusión en el chat .
mpag
Otra recomendación. reemplace la startlínea con START "NOTEPAD" "%SystemRoot%\System32\NOTEPAD.EXE" %1para generalizar para aquellos locos que tienen D como su unidad raíz o WinNT para su directorio de Windows.
mpag
@mpag Claro, excepto que no siento la necesidad de editar eso en mi respuesta. Cualquiera que sea lo suficientemente loco como para que su directorio raíz no sea no C:recibirá mi apoyo. C:ha sido el estándar desde que salió DOS en 1981.
MD XF
1
para preservar las marcas de tiempo: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
O simplemente podría usar esta utilidad preexistente.
mbomb007
4

Como Notepad ++ se mencionó específicamente en el OP, tiene (al menos ahora) la configuración necesaria en:

Editar -> Conversión EOL -> Formato de Windows.

Huendli
fuente
Notepad ++ versión 7.5.9, las opciones tienen el nombre "Windows (CR LF)" en Conversión EOL.
André M. Faria
3

Debe cambiar el tipo de codificación de salto de línea utilizado en el archivo.

En Linux hay un programa llamado "unix2dos" que puede hacer eso por usted. No estoy seguro si Windows viene con dicho programa, pero parece que hay uno similar disponible aquí: http://www.thefreecountry.com/tofrodos/

Hay más información sobre este proceso en Wikipedia: http://en.wikipedia.org/wiki/Unix2dos donde puede obtener ejemplos de diferentes programas de línea de comandos que pueden hacer el cambio.

rgocs
fuente
si tiene instalado sublime, puede elegir View->Line endings -> Windowsy luego guardar el archivo sobrescribirlo. En este caso, los finales de línea de Unix se convertirán al formato de Windows. Si abre este archivo guardado en el Bloc de notas, se mostrará finales de línea correctamente.
junior M
1

Otra cosa que podría hacer: Abrir el archivo en WordPad y luego guardarlo. Corregirá las terminaciones de línea. Este es el método más rápido.

MD XF
fuente
1

Tienes razón en que es un problema con las terminaciones de línea de Unix. Hay varias terminaciones de línea diferentes , pero tres variaciones son las más comunes:

  • "U + 000A LINE FEED" (LF): Unix, Linux, macOS, etc.
  • "U + 000D CARRIAGE RETURN" (CR): macOS clásico entre otros
  • "U + 000D CARRIAGE RETURN" seguido de "U + 000A LINE FEED" (CRLF): Windows y otros sistemas operativos que no son Unix / IBM

Las versiones anteriores de Notepad reconocen solo CRLF, pero las versiones más nuevas admiten CRLF, CR y LF .

No hay una configuración para cambiar este comportamiento en versiones anteriores del Bloc de notas, pero puede volver al comportamiento anterior en la nueva versión . La mayoría de los otros programas principales han trabajado con las tres terminaciones de línea durante bastante tiempo, por lo que si su contenido funciona en versiones anteriores de Notepad, debería funcionar prácticamente en cualquier otro lugar.

0b10011
fuente