出于某种原因,当我在我的 windows 机器上打开来自 unix 服务器的文件时,它们偶尔会进行 Macintosh EOL 转换,当我再次编辑/保存它们时,它们在 unix 服务器上无法正常工作。我只使用记事本++从这个unix服务器编辑文件,那么有没有办法创建一个宏,每当我打开一个文件时自动将EOL转换为Unix格式?
在Notepad++中,使用正则表达式替换所有。这优于菜单中的转换命令,您可以在整个文件夹上操作而无需打开每个文件或拖放(在数百个文件上它会明显变慢)而且您还可以设置文件名通配符过滤器。
(\r?\n)|(\r\n?)
到
\n
这将匹配所有可能的行结束模式(单 , 或者 ) 回到 . (或者 如果你正在转换为 windows 风格)
要对多个文件进行操作,可以:
我从 WinSCP “直接”打开文件,它在 Notepad++ 中打开文件 我的 linux 服务器上有一个 php 文件,无论我做什么,它总是以 Mac 格式打开:-(
如果我下载了文件然后从本地 (windows) 打开它,它是以 Dos/Windows 打开的....嗯
解决方案是EOL-将本地文件转换为“UNIX/OSX格式”,保存后再上传。
现在,当我直接从服务器打开文件时,它以“Dos/Windows”打开:-)
根据您的项目,您可能需要考虑使用 EditorConfig (https://editorconfig.org/)。有一个 Notepad++ 插件,它将加载一个 .editorconfig,您可以在其中指定“lf”作为强制行结尾。
我才刚刚开始使用它,但到目前为止它还不错,而且我从事的开源项目多年来一直包含 .editorconfig 文件。 “EOL Conversion”设置没有改变,所以它可能有点混乱,但是如果你“View > Show Symbol > Show End of Line”,你可以看到它添加了 LF 而不是 CRLF,即使当“EOL Conversion " 并且下角显示其他内容(例如 Windows (CR LF))。