出于某种原因,当我从Windows机器上的unix服务器打开文件时,它们偶尔会进行Macintosh EOL转换,当我再次编辑/保存它们时,它们在unix服务器上无法正常工作。我只使用notepad ++编辑来自这个unix服务器的文件,所以有没有办法创建一个宏,每当我打开文件时自动将EOL转换为Unix格式?
答案 0 :(得分:169)
该功能已内置于Notepad ++中。从“编辑”菜单中,选择“EOL转换” - > “UNIX / OSX格式”。
screenshot of the option for even quicker finding (or different language versions)
您还可以通过“设置” - >在记事本++中设置默认EOL。 “偏好” - > “新建文档/默认目录”然后在格式框下选择“Unix / OSX”。
答案 1 :(得分:12)
在Notepad ++中,使用正则表达式替换all。这比菜单中的转换命令有优势,你可以对整个文件夹进行操作,无需打开每个文件或拖放(在几百个文件上它会明显变慢)加上你也可以设置文件名通配符过滤器。
(\r?\n)|(\r\n?)
到
\n
这会将每个可能的行结束模式(单个\ r,\ n或\ r \ n)匹配回\ n。
要对多个文件进行操作,请执行以下操作:
答案 2 :(得分:2)
我直接打开文件""来自WinSCP,它在Notepad ++中打开文件 我的linux服务器上有一个php文件,无论我做什么,总是以Mac格式打开:-(
如果我下载了该文件,然后从本地(windows)打开它,它就像Dos / Windows一样打开....嗯
解决方案是将本地文件EOL转换为" UNIX / OSX格式",保存并上传。
现在,当我直接从服务器打开文件时,它打开了" Dos / Windows" : - )
答案 3 :(得分:1)
根据您的项目,您可能需要考虑使用EditorConfig(https://editorconfig.org/)。有一个Notepad ++插件,它将加载.editorconfig,您可以在其中指定“ lf”作为强制行结尾。
我只是开始使用它,但到目前为止还不错,而且我从事的开源项目已经包含.editorconfig文件多年了。 “ EOL转换”设置没有更改,因此可能有些混乱,但是,如果“查看>显示符号>显示行尾”,即使“ EOL转换”,您也会看到它正在添加LF而不是CRLF。 ”,而底下角则显示其他内容(例如Windows(CR LF))。