在linux下,不可避免的会用VIM打开一些windows下编辑过的文本文件。我们会发现文件的每行结尾都会有一个^M符号,这是因为 DOS下的编辑器和Linux编辑器对文件行末的回车符处理不一致。
删掉所有的^M的方法有:
1.使用vim打开文件 ,命令模式下输入:set fileformat=unix
,然后:w
退出。
2.利用正则表达式,使用vim打开文件,输入 :
vim切换到命令模式,然后
“ : %s/^M$//g ”
% 指匹配整个文件
s 是置换的意思
^M 要用ctrl+v+m 组合键敲入
$ 表示匹配行尾的内容
g 表示每行中匹配到的内容都要置换
//或者
: %s/^M//g
: %s/\r//g
3.直接在终端下输入:
dos2unix filename //直接将file转换为unix下的文件格式,但是有的系统不支持这条命令。
注:查看文件编码格式并设置:进入vim命令模式:
:set fileencoding //查看
//设置
:set fileencoding=utf-8