这个问题已经在这里有了答案:
最近,我在Windows 7下的notepad.exe中打开的大多数文档都没有换行符...一切都可以一起运行。任何其他程序中的相同文档,甚至可以直接在资源管理器中预览,也可以正确显示换行符。许多.info文件,.css,.js ..都在发生这种情况,但并非全部。
我猜测这是某种字符编码的UNIX行尾或其他,但是想知道是否有我可以做的事情,或者其他人是否经历过类似的事情,以及是否可以使记事本正常工作。对于某些用途,我更喜欢Notepad ++ /其他文本编辑器。
这个问题已经在这里有了答案:
最近,我在Windows 7下的notepad.exe中打开的大多数文档都没有换行符...一切都可以一起运行。任何其他程序中的相同文档,甚至可以直接在资源管理器中预览,也可以正确显示换行符。许多.info文件,.css,.js ..都在发生这种情况,但并非全部。
我猜测这是某种字符编码的UNIX行尾或其他,但是想知道是否有我可以做的事情,或者其他人是否经历过类似的事情,以及是否可以使记事本正常工作。对于某些用途,我更喜欢Notepad ++ /其他文本编辑器。
Answers:
有换行符,但是不同的操作系统识别换行符的顺序不同。
记事本只能识别CR,LF(0x0d,0x0a),而其他来源可能仅使用CR或仅使用LF。
您不能使记事本的行为有所不同,因此唯一的选择是确保内容具有正确的记事本顺序。请注意,记事本是唯一具有此限制的编辑器,因此,如果您的内容在记事本中可用,它将在其他任何地方使用。
修复换行的一种简单方法是将文本复制并粘贴到Word中,然后再次返回到记事本中,换行将被“更正”为CR,LF序列。
如果您对notepad ++和其他文本编辑器的厌恶不是所有Windows系统的标准组成部分,请使用Wordpad。它不像记事本那么简单。
写字板将正确读取并显示带有Unix行尾的文本文件。
如果您都不喜欢这两个真正的文本编辑器,那么notepad ++可能是一个不错的选择。
open with...
菜单中。
您可以编写一个简单的批处理脚本:
@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
将此保存为notepad.bat
您喜欢的任何目录。然后,不要使用记事本打开您的.info
/ .css
/ .js
文件,而是使用此批处理脚本打开它们。它将所有Unix行尾自动转换为DOS,然后使用记事本打开文件。
缺点:
START
第4行修复)start
行START "NOTEPAD" "%SystemRoot%\System32\NOTEPAD.EXE" %1
以概括那些以D作为其根驱动器或WinNT作为其Windows目录的疯狂文件。
C:
得到我的支持。C:
自DOS在1981
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
您需要更改文件中使用的换行编码的类型。
在Linux中,有一个名为“ unix2dos”的程序可以为您完成此任务。我不确定Windows是否附带了这样的程序,但是这里似乎有类似的程序:http : //www.thefreecountry.com/tofrodos/
Wikipedia中提供了有关此过程的更多信息:http : //en.wikipedia.org/wiki/Unix2dos ,您可以在其中获取可以进行更改的不同命令行程序的示例。
View->Line endings -> Windows
然后保存文件以覆盖它。在这种情况下,unix行尾将变成Windows格式。如果您在记事本中打开此保存的文件,它将正确显示行尾。
您是正确的,这是Unix行尾的问题。有几种不同的行尾,但是最常见的是三种变体:
较旧的Notepad版本仅识别CRLF,但较新的版本支持CRLF,CR和LF。
在旧版本的记事本中没有更改此行为的设置,但是您可以在新版本中恢复到旧的行为。大多数其他主流程序在这三行结尾都使用了相当长的一段时间,因此,如果您的内容在旧版本的记事本中可用,则在其他任何地方都应该可以正常工作。