关于windows与unix之间文件格式转换问题。UE编辑器中(CR/LF)问题

来源:互联网 发布:淘宝律动乐器 编辑:程序博客网 时间:2024/04/30 07:47
问题描述:

     对于我们来说在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


 


只是将以上几行的注释去掉了。
0 0
原创粉丝点击