问题描述:admin管理员组文章数量:1661507
对于我们来说在windows下编码的直观和操作简单方便,不用记大量的编辑命令,动动鼠标就OK了。 但是对于我们这些工作在Unix下
的开发者来说,我们习惯于在windows下编辑,然后同步到unix下。
也许你会发现当你把创建的文件以二进制的方式传到unix下,并打开,会在每行的最后多了一个^M字符。 文件小,我们可以手动删
除。 如果文件内容很多呢, 我想你一定不会选择这种方式。
为什么会出现这个字符? 我们比较熟悉的是windows下,在每一行都会有一个回车换行符(CR/LF)。但在unix下换行只有一个LF字
符(/n ascii码 10)。这个显示出来的字符,就是在windows下多了的回车符'/r'(ascii码 13)。
我习惯用UE编码,所以讲下在UE下的设置,解决上面出现的^M字符。
1. 人工清除法:
使用UE命令,去掉'/n'。当编辑完上传前,使用“格式”-》“转换回车符为换行”命令,手动转换。
优点:区别对待dos文件格式和unix文件。 缺点:效率低,麻烦每次都要转换,一不小心就杯具。 建议:可以偶尔为之
在unix下使用vi打开文件,使用以下命令可以一次性删除所有的^M字符:
:%s/^M//g
在unix下输入^M字符的快捷键:ctrl+v+m
2. 一劳永逸法:
UE默认下,每次打开Unix下的文件会询问是否转换为DOS格式。(每次都很烦的点否)。如果你和我一样,你可以打开菜单栏上的“高
级”-》“配置”-》“文件处理”-》“DOS/UNIX/MAC处理”。 将选项“新建文件的默认文件类型” 设为“UNIX”, “UNIX/MAC文件
检测/转换” 设置为“禁用”。其它默认。
效果:每次打开unix文件不会提示转换, 完全和unix兼容,新建的文件可以直接传到unix下,不用担心出现^M字符。
优点:高效,方便。 缺点:新建的文件在windows记事本编辑器下,是没有换行的, 少'/r' 回车符。
建议:经常用UE编辑Unix文件的人使用。
note:如果用UE打开了一个Unix格式的文件,编辑完保存后还是Unix格式的文件。UE默认情况是保存为输入文件的格式。
3. 使用svn上传DOS格式文件到Unix服务器时^M解决方法:
WINDOWS下
%USERPROFILE%/AppData/Roaming/Subversion/config,打开此文件。修改一下内容
enable-auto-props = yes
*.c = svn:eol-style=native
*.mk = svn:eol-style=native
*.cpp = svn:eol-style=native
*.h = svn:eol-style=native
*.dsp = svn:eol-style=CRLF
*.dsw = svn:eol-style=CRLF
*.sh = svn:eol-style=native;svn:executable
*.txt = svn:eol-style=native
*.png = svn:mime-type=image/png
*.jpg = svn:mime-type=image/jpeg
Makefile = svn:eol-style=native
只是将以上几行的注释去掉了。
版权声明:本文标题:关于windows与unix之间文件格式转换问题。UE编辑器中(CRLF)问题 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1729928921a1216692.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论