vi 打开文件,行末尾有^M

原因:
Windows下的文本文件的每一行结尾,都有一个回车符('\n')和一个换行符('\r')
Linux下的文本文件的每一行结尾,只有一个回车符('\n')
Mac下的文本文件的每一行结尾,只有一个一个换行符('\r')
所以在 Linux 下打开Windows 编辑过的文件,就会在行末尾显示^M
这个 ^M 在 Linux vi 下 是 ctrl + v ctrl + m
解决方法:
  
字符串替换
vi 命令行输入 : %s/^M//g
回车即可替换 。
% 指匹配整个文件,s 是置换的意思,^M 注意用 ctrl + v ctrl + m 来输入,$ 表示匹配行尾的内容,g 表示每行中匹配到的内容都要置换。
效果:
  
方法二:
  :set fileformat=unix
  :w
vi 打开文件,行末尾有^M的更多相关文章
- 在Linux中使用vi打开文件时如何显示行号,及跳转到指定行
		vi 文件名,打开文件后 如果要显示所有行号,使用 :set nu 如果要显示当前行号,使用 :nu 如果要跳转到指定行,使用 :行号 例如,跳转到第10行,使用 :10 
- (转载)在Linux下删除文件行末尾的^M符号方法
		(转载)http://www.xinfengit.com/200907/1433646.html 由于DOS下的编辑器和linux(linux教程 linux培训 )编辑器对文件行末的回车符处理不一致 ... 
- Linux系统中文件行末尾出现^M的原因及解决办法
		不同系统,有不同的换行符号: 在windows下的文本文件的每一行结尾,都有一个回车('\n')和换行('\r') 在linux下的文本文件的每一行结尾,只有一个回车('\n'); 在Mac下的文本文 ... 
- 删除文件行末尾的^M符号方法
		有时发现某些文件的末尾总是带有^M符号 cat /etc/hosts.allow|col -b > /etc/hosts.allow.old 
- linux中使用vi 打开文件时,能显示行号
		方法一: 1.显示当前行行号,在VI的命令模式下输入 :nu 2.显示所有行号,在VI的命令模式下输入 :set nu方法二: 使用vi编辑~/.vimrc文件,在该文件中加入一行" ... 
- Xshell下VI打开文件中文乱码解决
		修改 /etc/sysconfig/i18n 成如下值:LANG="zh_CN.utf8"LANGUAGE="zh_CN.utf8"SUPPORTED=&quo ... 
- vi 新建文件后保存文件时遇到的问题:E212: 无法打开并写入文件
		问题描述 使用vi编辑器写好内容后保存并退出时遇到以下问题 解决方案 该问题的原因是用户权限不够,因为普通用户用 vi 不能保存文件,需要使用超级用户才可以. 先转换为超级用户:su 再用vi打开文件 ... 
- vi/vim打开文件提示Found a swap file by the name
		问题分析 有一次在远程连接主机时,用vi打开文件my.ini却提示:Found a swap file by the name ".my.ini.swp".百度了下才知道,原来在使 ... 
- Linux - wc统计文件行数、单词数或字节数
		一 wc简单介绍 wc命令用来打印文件的文本行数.单词数.字节数等(print the number of newlines, words, and bytes in files).在Windows的 ... 
随机推荐
- .NET  MVC结构框架下的微信扫码支付模式二 API接口开发测试
			直接上干货 ,我们的宗旨就是为人民服务.授人以鱼不如授人以渔.不吹毛求疵.不浮夸.不虚伪.不忽悠.一切都是为了社会共同进步,繁荣昌盛,小程序猿.大程序猿.老程序猿还是嫩程序猿,希望这个社会不要太急功近 ... 
- Lintcode: Longest Common Substring  解题报告
			Longest Common Substring 原题链接: http://lintcode.com/zh-cn/problem/longest-common-substring/# Given tw ... 
- Django admin 常用方法 model 增加只读权限
			1.Django admin model 设置查看权限 Django model 默认只有增加.删除.修改权限.没有查看权限 #model class Ad_Campaing(models.Model ... 
- 【神经网络】BP反向传播神经网络
			BP算法细节 参数说明:假设有n层.J表示代价函数,和上面的E是同样的意思,只不过用不同的字母写而已. 分析:要想知道第l层的第i个结点的残差,必须知道层已经计算出来了残差,你只要把后面一层的每个结点 ... 
- Pythonic版冒泡排序和快速排序(附:直接插入排序)
			[本文出自天外归云的博客园] 冒泡排序:就是每次排序选最大元素到数组a的最后,排 len(a)-1 次.也就是两个for循环: 1. 外层是待排数组长度的循环,从待排数组长度(初始待排数组长度等于数组 ... 
- s3c2440——实现裸机的简易printf函数
			在单片机开发中,我们借助于vsprintf函数,可以自己实现一个printf函数,但是,那是IDE帮我们做了一些事情. 刚开始在ARM9裸机上自己写printf的实现的时候,包含对应头文件也会提示vs ... 
- linux磁盘 分区 物理卷 卷组 逻辑卷 文件系统加载点操作案例
			转自:truemylife.linux磁盘 分区 物理卷 卷组 逻辑卷 文件系统加载点操作案例 基本概念: 磁盘.分区.物理卷[物理部分] 卷组[中间部分] 逻辑卷.文件系统[虚拟化后可控制部分] 磁 ... 
- (转载)设计模式之-策略模式(Strategy)
			原文:http://blog.sina.com.cn/s/blog_48df74430100t2m7.html 前言 部门组织培训,<Effective Java>,每人每天给大家讲解一节 ... 
- C#学习笔记(23)——C#将PPT批量转为JPG(aspose方法)
			说明(2017-7-31 18:30:25): 1. 最主要的是下载到aspose的破解文件,我在这里下载的http://www.lenosoft.net/down/10205.htm,如果不差钱可以 ... 
- C# ASP.NET B/S模式下,采用lock语法 实现多用户并发产生不重复递增单号的一种解决方法技术参考
			有时候也好奇,若是老外发个技术文章,会不会到处是有人骂街的?进行人身攻击的?中国人喜欢打击别人,不知道老外是不是也是这个性格?好奇的问一下大家. 往往我们在开发程序.调试程序时,无法模拟多用户同时操作 ... 
