Bloco de notas ignorando quebras de linha [duplicado]


36

A maioria dos documentos que estou abrindo no notepad.exe no Windows 7 ultimamente, não há quebras de linha ... tudo simplesmente funciona junto. Os mesmos documentos em qualquer outro programa, mesmo visualizados diretamente no Explorer, mostrarão as quebras de linha corretamente. isso está acontecendo com muitos arquivos .info, .css, .js .. mas não com todos eles.

Eu estou supondo que é algum tipo de caractere que codifica terminações de linha unix de uma maneira ou de outra, mas me pergunto se há algo que eu possa fazer ou se alguém experimentou semelhante e se eu posso fazer o bloco de notas funcionar corretamente. Eu prefiro o notepad ++ / outros editores de texto para certos usos.


Consulte stackoverflow.com/a/50241693/6309 : O bloco de notas suporta \ n agora (Windows 10, Q2 2018)
VonC

Respostas:


45

Existem quebras de linha, no entanto, sistemas operacionais diferentes reconhecem seqüências diferentes para quebras de linha.

O bloco de notas reconhece apenas CR, LF (0x0d, 0x0a), enquanto outras fontes podem usar apenas CR ou apenas LF.

Você não pode fazer com que o Bloco de notas se comporte de maneira diferente; portanto, sua única opção é garantir que o conteúdo tenha a sequência correta para o Bloco de notas. Observe que o bloco de notas é o único editor com essa restrição; portanto, se o seu conteúdo funcionar no Bloco de Notas, ele funcionará em qualquer outro lugar.

Uma maneira simples de corrigir os feeds de linha é copiar e colar o texto no Word e, novamente, no bloco de notas, e os feeds de linha serão "corrigidos" para a sequência CR, LF.


36
aha! soa um pouco como o afundamento do bloco de notas pode ser muito mais fácil; P
Damon

11
Absolutamente (preenchimento).
Paul

3
Eu acho que é realmente desconcertante que essa limitação de vinte anos nunca tenha sido corrigida ...
Haroldo_OK 25/11/16

11
abrir com a palavra, salvar, em seguida, aberto com bloco de notas ... não copiar e colar necessário
Gavin Palmer

2
Boas notícias, a tecnologia está finalmente chegando .
Mkobit

9

Prancheta

Se sua aversão ao bloco de notas ++ e outros editores de texto é que eles não fazem parte padrão de todos os sistemas Windows, use o Wordpad. Não é tão rudimentar quanto o Bloco de Notas.

O Wordpad irá ler e exibir corretamente os arquivos de texto com as terminações de linha do Unix.

De outros

Se você é avesso a ambos os editores de texto verdadeiros, o bloco de notas ++ provavelmente é uma boa escolha.


meu problema com o notepad ++ para visualização / edição realmente rápida é que ele mantém vários documentos abertos, a menos que eu os feche especificamente; simplesmente não parece adequado para esse uso. Posso apenas reassociar arquivos do tipo texto com worpad e garantir que esteja no meu open with...menu.
Damon

2
Para quem lê este anos mais tarde, você pode transformar essa funcionalidade off nas preferências, o seu algo como "Lembre-se sessão atual para o próximo lançamento"
Uberfuzzy

2
@ Damon Eu costumava odiar esse comportamento também, mas você pode desativá-lo. Você só precisa configurar o Notepad ++ para não reabrir sessões antigas. Vá para Configurações -> Preferências -> Backup. Desmarque a opção "Lembrar sessão atual para o próximo lançamento".
Bacon Bits

Diria que o problema não é tanto querer que o editor de texto seja portado com o Windows, quanto desejar que o Windows forneça pelo menos um editor de texto decente. Eu não contaria o MS Word ou o WordPad como "editores de texto", já que o objetivo dessas ferramentas é gerar relatórios, em vez de editar texto. O texto não vem necessariamente com páginas ou precisa caber nas páginas. Ainda em 2018 e no Windows 10, ainda não encontrei nada disso.
patrik

5

Você pode escrever um script em lote simples :

@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

Salve-o como notepad.batem qualquer diretório que desejar. Em vez de abrir seus arquivos .info/ .css/ .jscom o Bloco de Notas, abra-os com este script em lote. Ele converterá automaticamente todas as terminações de linha Unix em DOS e abrirá o arquivo com o Bloco de notas.

Desvantagens:

  • Toda vez que você abre o programa, ele adiciona uma nova linha ao final do arquivo. (Corrigido por @mpag )
  • Abre uma janela do prompt de comando (corrigida usando STARTa linha 4)
  • Altera a data de criação do arquivo para a data atual


outra recomendação. substitua a startlinha por START "NOTEPAD" "%SystemRoot%\System32\NOTEPAD.EXE" %1generalizar para aqueles malucos que têm D como unidade raiz ou WinNT como diretório do Windows.
MPAG

@mpag Claro, exceto que não sinto a necessidade de editar isso na minha resposta. Qualquer um maluco que não seja o diretório raiz não C:terá suporte de mim. C:tem sido o padrão desde que o DOS foi lançado em 1981.
MD XF

11
preservar timestamps: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 você pode apenas usar este utilitário pré-existente.
mbomb007

4

Como o Notepad ++ foi mencionado especificamente no OP, ele (pelo menos agora) possui a configuração necessária em:

Editar -> Conversão EOL -> Formato do Windows.


Na versão Notepad ++ 7.5.9, as opções têm o nome "Windows (CR LF)" em Conversão de EOL.
André M. Faria

3

Você precisa alterar o tipo de codificação de quebra de linha usada no arquivo.

No Linux, existe um programa chamado "unix2dos" que pode fazer isso por você. Não tenho certeza se o Windows vem com esse programa, mas parece haver um semelhante disponível aqui: http://www.thefreecountry.com/tofrodos/

Há mais informações sobre esse processo na Wikipedia: http://en.wikipedia.org/wiki/Unix2dos, onde você pode obter exemplos de diferentes programas de linha de comando que podem fazer a alteração.


Se você tiver o Sublime instalado, poderá escolher View->Line endings -> Windowse salvar o arquivo para substituí-lo. Nesse caso, os finais de linha unix se transformarão no formato Windows. Se você abrir esse arquivo salvo no Bloco de Notas, ele mostrará as terminações de linha corretamente.
Junior M

1

Outra coisa que você pode fazer: Abra o arquivo no WordPad e salve-o. Isso corrigirá as terminações da linha. Este é o método mais rápido.


1

Você está certo de que é um problema com as terminações de linha do Unix. Existem várias terminações de linha diferentes , mas três variações são as mais comuns:

  • "U + 000A LINE FEED" (LF): Unix, Linux, macOS, etc
  • "RETORNO DE CARRO U + 000D" (CR): macOS clássico entre outros
  • "RETORNO DE CARRO U + 000D" seguido de "ALIMENTAÇÃO DE LINHA U + 000A" (CRLF): Windows e outros sistemas operacionais não Unix / IBM

As versões mais antigas do Bloco de notas reconhecem apenas CRLF, mas as versões mais recentes oferecem suporte a CRLF, CR e LF .

Não há nenhuma configuração para alterar esse comportamento nas versões anteriores do Bloco de Notas, mas você pode reverter para o antigo comportamento na nova versão . A maioria dos outros programas tradicionais trabalha com as três terminações de linha há algum tempo; portanto, se o seu conteúdo funcionar em versões mais antigas do Bloco de Notas, ele deve funcionar praticamente em qualquer outro lugar.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.