vim打开文档后面出现^M格式符问题记录
2013-11-09 00:20
288 查看
问题描述:这是前一天晚上在windows下编辑的一个Makefile文件,今天穿上linux用VIM打开后,在每一行后面都出现了一个^M的绿色标志的格式符。
原理分析:windows和linux换行命令格式是不同的。windows下dos格式的换行符为 0D 0A(也就是<CR><LF>),<CR>其实就显示为^M;而Linux下unix格式的换行符为0A(ascii码)也就是<LF>。当文档在windows下编辑后,在linux上显示就多了一个^M(苹果系统是用<CR>作为换行符的)。
删除方法:
1、在 Vim 的命令模式中输入 :%s/^M$//g 后,回车即会自动删除该文件中的所有 ^M 字符。注意: ^M 要用 Ctrl + v, Ctrl + m 来输入, 用键盘直接敲^和M是不行的! 后面的 $ 代表匹配行尾的内容,最后的 g 则表示每行中匹配到的内容都要置换--全局替换,否则只替换每行中匹配到的第一个。
2、脚本删除方法:cat file | col -b > file.1 // 这个可以去掉,但是生成文件里汉字变乱码
sed -e 's/.$//g' file // 正确
sed ‘s/^M//' file // 正确,但是 ^M = Ctrl + v, Ctrl + m
附录:^M 另一个会出现的情况是文件在 windows 和 Linux 系统间通过 Ftp 传送。这是建议方法是:强行设定 ftp 方式为 ascii 方式就可以了啊! 当然也可以通过软件 dos2unix 搞定。
备份防遗忘。
原理分析:windows和linux换行命令格式是不同的。windows下dos格式的换行符为 0D 0A(也就是<CR><LF>),<CR>其实就显示为^M;而Linux下unix格式的换行符为0A(ascii码)也就是<LF>。当文档在windows下编辑后,在linux上显示就多了一个^M(苹果系统是用<CR>作为换行符的)。
删除方法:
1、在 Vim 的命令模式中输入 :%s/^M$//g 后,回车即会自动删除该文件中的所有 ^M 字符。注意: ^M 要用 Ctrl + v, Ctrl + m 来输入, 用键盘直接敲^和M是不行的! 后面的 $ 代表匹配行尾的内容,最后的 g 则表示每行中匹配到的内容都要置换--全局替换,否则只替换每行中匹配到的第一个。
2、脚本删除方法:cat file | col -b > file.1 // 这个可以去掉,但是生成文件里汉字变乱码
sed -e 's/.$//g' file // 正确
sed ‘s/^M//' file // 正确,但是 ^M = Ctrl + v, Ctrl + m
附录:^M 另一个会出现的情况是文件在 windows 和 Linux 系统间通过 Ftp 传送。这是建议方法是:强行设定 ftp 方式为 ascii 方式就可以了啊! 当然也可以通过软件 dos2unix 搞定。
备份防遗忘。
相关文章推荐
- vim打开文档出现的^M是什么
- 流媒体测试笔记记录之————解决问题video.js 播放m3u8格式的文件,根据官方的文档添加videojs-contrib-hls也不行的原因解决了
- 今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号。由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号。看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类
- [Ubuntu--VIM]vim打开代码文档中文注释显示为乱码的问题解决
- 点滴记录——Ubuntu 14.04中gedit打开文件出现中文乱码问题
- asp.net输出docx文档出现【文件已损坏 无法打开】问题的解决方案
- AS3.0加载XML出现“#1088 文档中根元素后面的标记格式必须正确”的解决方法
- Excel打开CSV时,出现一个格式问题
- vim 打开Linux下文件每一行后面都有^M的样式
- 关于vim打开中文文件出现乱码问题
- xml中出现“文档中根元素后面的标记必须格式正确” 的错误
- 运行hadoop中出现的数据格式问题(for input string 异常.........(后面一串数字))
- SharePoint 2013 OWA 打开Word时:很抱歉,出现问题,无法打开此文档。打开Excel是:"/x"应用程序中的服务器错误; 其他长见问题修改
- 批量修改文件的编码格式-问题来自于用Source Insight打开项目时中文部分出现乱码
- vim打开出现的文档^M什么
- pdf打开错误之读取本文档时出现问题(14)
- 关于Matlab 帮助文档无法打开的问题记录
- 关于获取JSON数据,出现格式错误的问题记录
- 解决vim打开文件末尾带有^M的问题
- 在Linux中使用vi/vim打开一个文件时出现的的问题