记事本中的 EOL 转换 ++

问题描述 投票:0回答:4

出于某种原因,当我在我的 windows 机器上打开来自 unix 服务器的文件时,它们偶尔会进行 Macintosh EOL 转换,当我再次编辑/保存它们时,它们在 unix 服务器上无法正常工作。我只使用记事本++从这个unix服务器编辑文件,那么有没有办法创建一个宏,每当我打开一个文件时自动将EOL转换为Unix格式?

notepad++ eol
4个回答
243
投票

该功能已内置于 Notepad++ 中。从“编辑”菜单中,选择“EOL 转换”->“UNIX/OSX 格式”。

screenshot of the option for even quicker finding (or different language versions)

您还可以通过“设置”->“首选项”->“新建文档/默认目录”在记事本++中设置默认 EOL,然后在格式框下选择“Unix/OSX”。


20
投票

在Notepad++中,使用正则表达式替换所有。这优于菜单中的转换命令,您可以在整个文件夹上操作而无需打开每个文件或拖放(在数百个文件上它会明显变慢)而且您还可以设置文件名通配符过滤器。

(\r?\n)|(\r\n?)

\n

这将匹配所有可能的行结束模式(单 , 或者 ) 回到 . (或者 如果你正在转换为 windows 风格)

要对多个文件进行操作,可以:

  • 在“替换”选项卡中使用“全部替换所有打开的文档”。您必须先将所有文件拖放到 Notepad++ 中。很好,您可以控制要操作的文件,但如果有数百或数千个文件,速度可能会很慢。
  • “在文件中查找”选项卡中的“在文件中替换”,通过您选择的文件过滤器,例如,在一个指定目录下的*.cpp *.cs。

3
投票

我从 WinSCP “直接”打开文件,它在 Notepad++ 中打开文件 我的 linux 服务器上有一个 php 文件,无论我做什么,它总是以 Mac 格式打开:-(

如果我下载了文件然后从本地 (windows) 打开它,它是以 Dos/Windows 打开的....嗯

解决方案是EOL-将本地文件转换为“UNIX/OSX格式”,保存后再上传。

现在,当我直接从服务器打开文件时,它以“Dos/Windows”打开:-)


1
投票

根据您的项目,您可能需要考虑使用 EditorConfig (https://editorconfig.org/)。有一个 Notepad++ 插件,它将加载一个 .editorconfig,您可以在其中指定“lf”作为强制行结尾。

我才刚刚开始使用它,但到目前为止它还不错,而且我从事的开源项目多年来一直包含 .editorconfig 文件。 “EOL Conversion”设置没有改变,所以它可能有点混乱,但是如果你“View > Show Symbol > Show End of Line”,你可以看到它添加了 LF 而不是 CRLF,即使当“EOL Conversion " 并且下角显示其他内容(例如 Windows (CR LF))。

© www.soinside.com 2019 - 2024. All rights reserved.