Chinaunix首页 | 论坛 | 博客
  • 博客访问: 589622
  • 博文数量: 88
  • 博客积分: 4769
  • 博客等级: 中校
  • 技术积分: 989
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-24 02:31
文章分类

全部博文(88)

文章存档

2012年(4)

2011年(35)

2010年(49)

分类: LINUX

2011-05-14 16:29:39

    有时候,我们在 Linux 中打开曾在 Win 中编辑过的文件时,会在行尾看到 ^M 字符。虽然,这并不影响什么,
但心里面还是有点不痛快。如果想要删除这些 ^M 字符,可以使用 Vim 来轻松搞定它。在 Vim 的命令模式中输入

 :%s/^M$//g 

后,回车即会自动删除该文件中的所有 ^M 字符。

     那么,这句命令到底是什么意思呢?% 指匹配整个文件,s 是置换的意思,^M 注意要用 Ctrl + V Ctrl + M 来输入,
M 后面的 $ 代表匹配行尾的内容,最后的 g 则表示每行中匹配到的内容都要置换。

    理解了命令的含义,就好变通使用了,比如说,要将某个文件中的 Vim 全部替换成 VIM,则可以使用这样的命令:
:%s/Vim/VIM/g
阅读(6424) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~

chenliangmoran2014-08-04 10:56:19

有时候,我们在 Linux 中打开曾在 Win 中编辑过的文件时,会在行尾看到 ^M 字符。虽然,这并不影响什么,但心里面还是有点不痛快。如果想要删除这些 ^M 字符,可以使用 Vim 来轻松搞定它。

在 Vim 的命令模式中输入 :%s/^M$//g 后,回车即会自动删除该文件中的所有 ^M 字符。

那么,这句命令到底是什么意思呢?% 指匹配整个文件,s 是置换的意思,^M 注意要用 Ctrl + V Ctrl + M 来输入,M 后面的 $ 代表匹配行尾的内容,最后的 g 则表示每行中匹配到的内容都要置换。

理解了命令的含义,就好变通使用了,比如说,要将某个文件中的 Vim 全部替换成 VIM,则可以使用这样的命令::%s/Vim/VIM/g。

chenliangmoran2012-05-07 11:44:23

lbenglish2000: 认真研究了下替换命令,格式如下
:[range]s/from/to/[flags]
range是替换范围,点(.)表示当前行,$表示最后一行,%表示整个文件;
例如 :1,5s/form/to/ 表示替.....
好有心,新工作环境换了,正在Windows平台下搭建vim环境 ^_^

lbenglish20002012-05-07 08:56:12

认真研究了下替换命令,格式如下
:[range]s/from/to/[flags]
range是替换范围,点(.)表示当前行,$表示最后一行,%表示整个文件;
例如 :1,5s/form/to/ 表示替换1行到5行;:.,$s/form/to/  表示替换当前行到最后一行
flag是替换的一些标志,有p,c等,c表示替换前请求用户确认,p表示列印