在VIM中删除行尾的^M

programmer 程式師 程序员
Post Reply
expl
test ranks
Posts: 674
Joined: 2023-03-02T05:46:06+00:00

在VIM中删除行尾的^M

Post by expl »

在VIM中删除行尾的^M

在vim/gvim中打开windows编辑过的文件时,经常遇到每一个行尾都有一个^M的情况,这样很影响视觉,所以我总喜欢去掉它们。
最"传统"的办法是一行一行地删除,但那太不明智。
我喜欢用替换的方法删除它们,可以参考删除行尾的换行符的方法:

Code: Select all

:%s/\r//g
于是我们稍微修改一下:

Code: Select all

:%s/^M//g
而^M在vim中是需要使用 <Ctrl+V> 和 <Ctrl+M> 来输入的,所以综合下来的按键顺序为:

Code: Select all

:%s/<Ctrl+V><Ctrl+M>//g
现在文件是不是清爽了?

^M这个标志的出现是因为在 DOS/Windows 系统中文本文件的换行符为 \r\n ,而在 Linux 系统中文本文件的换行符则为 \n ,两者标准不一样导致的,而vim会比较诚实的还原文件中的内容,这不像很多编辑器会自以为是的"修饰"原文件中的内容。所以就会显出出一个^M来了。
^M本身对这个文本文件并没有破坏作用,不去掉它们也没有什么问题。
Post Reply

Return to “programmer 程式師 程序员”