[已得到高人指点]求助vim诡异的^M问题
- lgy0417
- 帖子: 326
- 注册时间: 2008-08-03 22:29
[已得到高人指点]求助vim诡异的^M问题
俺有一个文件,在cat -v下面明明每行都有^M,但是到了vim下面通通不显示(但是其他的文件有时候就会显示^M)
试着设置set fileformat也没有用
在vim里面做替换%s/^M//g居然说pattern not found,这不是睁眼说瞎话么?明明到处都有,但是vim不显示也不替换
请教下谁明白为什么是这样
试着设置set fileformat也没有用
在vim里面做替换%s/^M//g居然说pattern not found,这不是睁眼说瞎话么?明明到处都有,但是vim不显示也不替换
请教下谁明白为什么是这样
上次由 lgy0417 在 2010-04-12 10:02,总共编辑 1 次。
- cnkilior
- 论坛版主
- 帖子: 4984
- 注册时间: 2007-08-05 17:40
Re: 求助vim诡异的^M问题
dos2unix
- adagio
- 论坛版主
- 帖子: 22110
- 注册时间: 2008-02-17 23:47
- 来自: 美丽富饶的那啥星球
Re: 求助vim诡异的^M问题
C-vpocoyo 写了:^M 怎么打的....%s/^M//g
C-m
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……
---------------------------------------------------------------------------------
★ [图片版]新手当自强(续)FAQ
★ [新手进阶]挂载、fstab、调整linux分区
★ [图片版]E17桌面环境配置手把手
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……
---------------------------------------------------------------------------------
★ [图片版]新手当自强(续)FAQ
★ [新手进阶]挂载、fstab、调整linux分区
★ [图片版]E17桌面环境配置手把手
- lgy0417
- 帖子: 326
- 注册时间: 2008-08-03 22:29
Re: 求助vim诡异的^M问题
我是这么打的啊 话说这个替换我以前做过 只要vim界面里能看到^M,就可以用%s/^M//g替换 但是有的文件明明一堆回车 vim却不显示也不给替换……adagio 写了:C-vpocoyo 写了:^M 怎么打的....%s/^M//g
C-m
- lgy0417
- 帖子: 326
- 注册时间: 2008-08-03 22:29
- i_NIX
- 帖子: 450
- 注册时间: 2008-02-11 15:46
Re: 求助vim诡异的^M问题
奇怪,我的vim7.2上,一个^M都没有显示哦
Google Talk群组,请来<雨云>一番!
主题:Ubuntu、Linux、编程、科幻、民主、科学等。
添加 [email protected] 为好友(然后say hi,并等待验证)
参见 http://goo.gl/xIpxH
Twitter:http://twitter.com/nixzhu
主题:Ubuntu、Linux、编程、科幻、民主、科学等。
添加 [email protected] 为好友(然后say hi,并等待验证)
参见 http://goo.gl/xIpxH
Twitter:http://twitter.com/nixzhu
- lgy0417
- 帖子: 326
- 注册时间: 2008-08-03 22:29
-
- 论坛版主
- 帖子: 21308
- 注册时间: 2007-08-02 20:29
- 系统: 窓辺とうこ
Re: 求助vim诡异的^M问题
cat -v 就是show-nonprinting啊
怎么能在vim直接敲^M呢,字符串“^M”和非打印字符不一样的
怎么能在vim直接敲^M呢,字符串“^M”和非打印字符不一样的
- lgy0417
- 帖子: 326
- 注册时间: 2008-08-03 22:29
Re: 求助vim诡异的^M问题
没说在insert模式下直接敲啊 只是敲命令才c-v c-m啊JiangHui 写了:cat -v 就是show-nonprinting啊
怎么能在vim直接敲^M呢,字符串“^M”和非打印字符不一样的
我的问题是为什么vim为什么对于有的文件显示行尾的^M 有的就不显示也不能替换
-
- 论坛版主
- 帖子: 21308
- 注册时间: 2007-08-02 20:29
- 系统: 窓辺とうこ
Re: 求助vim诡异的^M问题
你上传那文件在vim里没显示^M
找了一个满是非打印字符的二进制文件试了替换下完全正常哦,个人问题?
找了一个满是非打印字符的二进制文件试了替换下完全正常哦,个人问题?
- lgy0417
- 帖子: 326
- 注册时间: 2008-08-03 22:29
Re: 求助vim诡异的^M问题
我非常想知道为啥那个满是^M的文件在vim下就显示不出来……JiangHui 写了:你上传那文件在vim里没显示^M
找了一个满是非打印字符的二进制文件试了替换下完全正常哦,个人问题?
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 求助vim诡异的^M问题
代码: 全选
:set ffs=unix
代码: 全选
:e ++ff=unix your_file
Vim 在处理时内部把所有按照识别出的 ff 所对应的换行符都转换成了 \0,正则中以 \n 匹配,除非你指定命令行选项 '-b' 或者打开文件时使用 ++bin 置位 'binary' 选项,否则你是看不到识别为 dos fileformat 的文件中的 ^M 的,就像你在 Win 下 fopen(file, "rt") 中看不到它一样。
更多请查看:
代码: 全选
:h ++
:h ff
:h ffs
- lgy0417
- 帖子: 326
- 注册时间: 2008-08-03 22:29
Re: 求助vim诡异的^M问题
NB,你是传说中的神?lilydjwg 写了:强制不识别 dos 格式即可显示,或者编辑时代码: 全选
:set ffs=unix
。set ff 是更改文件,而不是更改处理文件的选项,相当于做了 dos2unix 程序的活,然后要保存一下。代码: 全选
:e ++ff=unix your_file
Vim 在处理时内部把所有按照识别出的 ff 所对应的换行符都转换成了 \0,正则中以 \n 匹配,除非你指定命令行选项 '-b' 或者打开文件时使用 ++bin 置位 'binary' 选项,否则你是看不到识别为 dos fileformat 的文件中的 ^M 的,就像你在 Win 下 fopen(file, "rt") 中看不到它一样。
更多请查看:代码: 全选
:h ++ :h ff :h ffs
- realfiona
- 帖子: 137
- 注册时间: 2007-11-20 10:58
- 来自: Hangzhou, China
- 联系:
Re: 求助vim诡异的^M问题
赞 又学到了一点lilydjwg 写了:强制不识别 dos 格式即可显示,或者编辑时代码: 全选
:set ffs=unix
。set ff 是更改文件,而不是更改处理文件的选项,相当于做了 dos2unix 程序的活,然后要保存一下。代码: 全选
:e ++ff=unix your_file
Vim 在处理时内部把所有按照识别出的 ff 所对应的换行符都转换成了 \0,正则中以 \n 匹配,除非你指定命令行选项 '-b' 或者打开文件时使用 ++bin 置位 'binary' 选项,否则你是看不到识别为 dos fileformat 的文件中的 ^M 的,就像你在 Win 下 fopen(file, "rt") 中看不到它一样。
更多请查看:代码: 全选
:h ++ :h ff :h ffs
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 求助vim诡异的^M问题
lgy0417 写了: NB,你是传说中的神?

