vim打开文件中每行末尾都带有^m

author author     2022-10-13     367

关键词:

为什么会出现^M?

1. 在windows下的文本文件的每一行结尾,都有一个回车(‘
‘)和换行(‘
‘)
2. 在linux下的文本文件的每一行结尾,只有一个回车(‘
‘);
3. 而在linux下打开windows编辑过的文件,就会在行末尾显示^M; 
4. 注:^M在vim中为crtl+M

如何解决?

方法一

在vim命令行中输入

:%s/
//
%s/^M//
#注意此处^M为crtl+M,不是字面上的^M

方法二

用dos2unix

dos2unix filename

方法三

sed

sed ‘s/
//‘ filename -i

方法四

批量处理

find -mtime 0 -print0 |xargs -0 sed -i ‘s/
//‘
find -mtime 0 -print0 |xargs -0 dos2unix

命令解析

find

    1. -time
        1. -atime  访问时间(access)
        2. -mtime 修改时间(modify)
        3. time的时间单位为day 
                1. -mtime 0   表示今天之内修改的文件
                2. -mtime -3  三天以内
                3. -mtime +3 三天以外           
    2.  find默认打印输出为-print(换行显示), -print0 为不换行输出

xarg -0

    用作为分隔符,分隔字符串
执行如下

技术分享图片

shell脚本每行后面多了一个^m的原因和解决办法

...脚本时,会提示存在^M的错误,但是在Linux下直接使用vim打开并不存在。此时可以使用vim-b来打开脚本文件,就可以发现每行的末尾都存在^M。  造成这样的原因是不同的系统使用了不同的换行符。在Windows下文本文件的每一行结... 查看详情

vi编辑器中发现文件中每行都有一个^m字符

|--前言  从window拷贝了一个文件到linux用vim打开发现每行都有一个^M字符^M字符的来历和作用:   在DOS/Windows里,文本文件的换行符为\r\n,而在linux系统里则为\n,   所以DOS/Windows里编辑过的文本文件到了linux里,每一行都... 查看详情

去除vim中打开文件里有的^m字符

现象:在linux下打开Windows编辑的文本文件时会出现^M原因:把文件从一个系统移到另一个不同的系统,你就会遇到与换行相关的问题。解决方法:在命令模式下使用正则表达式进行字符全文空替换:其中"^M"的输入,分别是“Ctrl+v... 查看详情

你能强制 Vim 在文件末尾显示一个空行吗?

...布时间】:2010-11-1502:39:33【问题描述】:当我在记事本中打开一个文本文件时,如果在包含文本的最后一行的末尾有回车,它会显示一个空行。然而,在Vim中它不显示这个空行。我注意到的另一件事是,Vim编辑器默认添加回车到... 查看详情

去除vim^m符号

...//zhidao.baidu.com/question/267905868.html 有两种情况,会出现打开的文件都显示^M符号:1.vim被配置为fileformat=unix,而你打开的文件都是dos格式的。unix格式的换行符为0A(ascii码)也就是<LF>,dos格式的换行符为0D0A(也就是<CR>&l... 查看详情

在 Vim 中,防止插件在特定窗口中打开文件

】在Vim中,防止插件在特定窗口中打开文件【英文标题】:InVim,preventapluginfromopeningafileinaspecificwindow【发布时间】:2011-10-1516:36:26【问题描述】:我正在使用带有两个插件的vim(实际上是gvim)Project.vim和TagList。当我双击插件窗口... 查看详情

vim快捷键

vim真的很强大啊 m直接启动vimvimfilename打开vim并创建名为filename的文件文件命令打开单个文件vimfile同时打开多个文件vimfile1file2file3...在vim窗口中打开一个新文件:openfile在新窗口中打开文件:splitfile切换到下一个文件:bn切换到上... 查看详情

PHP - 在每行末尾写入文件

】PHP-在每行末尾写入文件【英文标题】:PHP-writetofileatendofeachline【发布时间】:2014-02-0411:01:41【问题描述】:假设我已经有一个如下所示的文本文件:sample.txtThisisline1.Thisisline2.Thisisline3....Thisislinen.如何将数组中的数据追加到每... 查看详情

vim中处理重定向文件中的^h和^m

...候会把日志重定向写到文件中,方便以后查看。但是用vim打开之后出现很多^H和^M,就像乱码一样。如图所示:现在尝试在vim中解决这个问题。替换^H在vim中输入命令,表示把^H替换成空格(注意//之间有个空格):%s/^H//g解释:s:表... 查看详情

vim命令

...m在命令行窗口中输入以下命令即可vim直接启动vimvimfilename打开vim并创建名为filename的文件文件命令打开单个文件vimfile同时打开多个文件vimfile1file2file3...在vim窗口中打开一个新文件:openfile在新窗口中打开文件:splitfile切换到下 查看详情

vim常用命令

...m在命令行窗口中输入以下命令即可vim直接启动vimvimfilename打开vim并创建名为filename的文件文件命令打开单个文件vimfile同时打开多个文件vimfile1file2file3...在vim窗口中打开一个新文件:openfile在新窗口中打开文件:splitf 查看详情

vim命令合集

...m在命令行窗口中输入以下命令即可vim直接启动vimvimfilename打开vim并创建名为filename的文件文件命令打开单个文件vimfile同时打开多个文件vimfile1file2file3...在vim窗口中打开一个新文件:openfile在新窗口中打开文件:spl 查看详情

vim命令合集

...m在命令行窗口中输入以下命令即可vim直接启动vimvimfilename打开vim并创建名为filename的文件文件命令打开单个文件vimfile同时打开多个文件vimfile1file2file3...在vim窗口中打开一个新文件:openfile在新窗口中打开文件:splitfi 查看详情

vim常用命令

...m在命令行窗口中输入以下命令即可vim直接启动vimvimfilename打开vim并创建名为filename的文件文件命令打开单个文件vimfile同时打开多个文件vimfile1file2file3...在vim窗口中打开一个新文件:openfile在新窗口中打开文件:splitfile切换到下 查看详情

vim命令合集

...m在命令行窗口中输入以下命令即可vim直接启动vimvimfilename打开vim并创建名为filename的文件文件命令打开单个文件vimfile同时打开多个文件vimfile1file2file3...在vim窗口中打开一个新文件:openfile在新窗口中打开文件:splitfile切换到下 查看详情

vim命令合集

...m在命令行窗口中输入以下命令即可vim直接启动vimvimfilename打开vim并创建名为filename的文件文件命令打开单个文件vimfile同时打开多个文件vimfile1file2file3...在vim窗口中打开一个新文件:openfile在新窗口中打开文件:splitfile切换到下 查看详情

vim命令合集

...m在命令行窗口中输入以下命令即可vim直接启动vimvimfilename打开vim并创建名为filename的文件文件命令打开单个文件vimfile同时打开多个文件vimfile1file2file3...在vim窗口中打开一个新文件:openfile在新窗口中打开文件:splitfile切换到下 查看详情

vim常用指令

...m在命令行窗口中输入以下命令即可vim直接启动vimvimfilename打开vim并创建名为filename的文件文件命令打开单个文件vimfile同时打开多个文件vimfile1file2file3...在vim窗口中打开一个新文件:openfile在新窗口中打开文件:splitfile切换到下 查看详情