【问题标题】:Inconsistent line ends in Notepad++Notepad ++中的行结尾不一致
【发布时间】:2016-04-12 15:04:36
【问题描述】:

我使用 Notepad++ v6.7.5。我了解 Edit->EOL Conversion 设置控制 Notepad++ 保存文件的方式。我将它设置为“Windows 格式”,这应该使它在保存文件时强制每一行结束到 。大约 99% 的时间都是这样。

我编辑了一个来自 Linux 系统的源文件,大概是 Linux 行结束。经过一些编辑后,我将其提交给验证行结束的源代码控制系统。它报告了大约十几个错误。我让 Notepad++ 显示行尾字符,发现这些错误中约有一半是仅以 结尾的行尾,如 Linux;其余的只是,就像我不知道的一样。

这些错误中的大多数(可能全部)都在我创建的行中,即行结尾是在 Notepad++ 中用键盘输入的,在文件的初始状态中找不到。

有谁知道这个问题的原因,以及如何解决它?

【问题讨论】:

    标签: notepad++ line-endings


    【解决方案1】:

    EOL Conversion 从一种状态切换到另一种状态。对于 Windows,您的最终切换将所有 EOL 设置为 <cr><lf>。根据文件中的行数,您可能需要切换几次。

    【讨论】:

    • 如果我理解正确,“EOL 转换”对文件执行操作——它不会设置编辑器的状态。那是对的吗? “几次”是指“两次”(我的意思)还是“几次”(我妻子的意思)? “几次”会很尴尬,因为似乎没有简单的方法来判断行尾何时已全部标准化。
    • 首先,选择View/ShowSymbol/ShowAllCharacters。接下来,全选(ctrl A)。然后选择编辑/EOL 转换/{选择任何非灰色选项}。重复但选择一个新选项,例如Windows Format。在一个非常大的文件中,我注意到第一次通过时每个 EOL 标记都没有更改。但是,如果您按照最大 2-3 倍的流程进行操作,所有 EOL 标记都将更改为您选择的格式。如果最后一行有目标 EOL 标记,您就可以开始了。在执行此过程时,我从未见过中间行的 EOL 标记与最后一行不同的情况。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-11
    • 2014-09-20
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多