vim之删除^M

http://zhuqingcode.github.io/linux/2013/09/17/remove-ctrl-m/


游离在windows和linux下的猿人肯定遇到过这个问题:在windows写的脚本程序,在linux下打开的时候出现了^M。这就牵扯到windows下回车和换行与linux下的区别,关于这个我不解释,去google吧,人家比我说的好多了!这里说一下在vim下怎么删除^M

这里为了对比纯字符型的^M和回车换行的^M(0x0d 0x0a)的区别,我们需要先来产生一个这样的文件。

1.vim test[Enter]
2.键入‘i’,进入『insert』模式
3.『Ctrl+v Ctrl+M』输入^M(0x0d 0x0a)
4.『Esc』yy,9p,生成10行^M(0x0d 0x0a)
5.『G』跳到最后一行
6.『o』在当前行下方插入一行
7.『Shift+^ Shift+M』输入纯字符型的^M
8.同第【4】步,生成10行纯字符型的^M
9.『Esc』进出『normal』模式

为了说明清楚,我录制了一个gif动态图:

vim-ctrl3

为了证明这两个^M的确不一样,我们进入vim十六进制编辑模式:

键入『:1,$!xxd』『Enter』 ,如下图:

vim-ctrl1

看到不一样的地方了吧! 我们回到正常模式:

键入『:1,$!xxd -r』『Enter』

下面就来具体讨论怎么删除^M(0x0d 0x0a):

键入『:1,$s/『Ctrl+v Ctrl+M』//g』『Enter』

如下图:

vim-ctrl-m0

或者:

键入『:1,$s/\r//g』『Enter』

如下图:

vim-ctrl-m1

是不是删除了^M(0x0d 0x0a)了!

下面就说说如何删除纯字符型的^M,这个较简单:

键入『:1,$s/\『Shift+^ Shift+M』//g』『Enter』

如下图:

vim-ctrl-m2

看到了吧?就这么简单!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值