在VIM中删除行尾的^M
Posted: 2026-01-21T02:47:19+00:00
在VIM中删除行尾的^M
在vim/gvim中打开windows编辑过的文件时,经常遇到每一个行尾都有一个^M的情况,这样很影响视觉,所以我总喜欢去掉它们。
最"传统"的办法是一行一行地删除,但那太不明智。
我喜欢用替换的方法删除它们,可以参考删除行尾的换行符的方法:
于是我们稍微修改一下:
而^M在vim中是需要使用 <Ctrl+V> 和 <Ctrl+M> 来输入的,所以综合下来的按键顺序为:
现在文件是不是清爽了?
^M这个标志的出现是因为在 DOS/Windows 系统中文本文件的换行符为 \r\n ,而在 Linux 系统中文本文件的换行符则为 \n ,两者标准不一样导致的,而vim会比较诚实的还原文件中的内容,这不像很多编辑器会自以为是的"修饰"原文件中的内容。所以就会显出出一个^M来了。
^M本身对这个文本文件并没有破坏作用,不去掉它们也没有什么问题。
在vim/gvim中打开windows编辑过的文件时,经常遇到每一个行尾都有一个^M的情况,这样很影响视觉,所以我总喜欢去掉它们。
最"传统"的办法是一行一行地删除,但那太不明智。
我喜欢用替换的方法删除它们,可以参考删除行尾的换行符的方法:
Code: Select all
:%s/\r//gCode: Select all
:%s/^M//gCode: Select all
:%s/<Ctrl+V><Ctrl+M>//g^M这个标志的出现是因为在 DOS/Windows 系统中文本文件的换行符为 \r\n ,而在 Linux 系统中文本文件的换行符则为 \n ,两者标准不一样导致的,而vim会比较诚实的还原文件中的内容,这不像很多编辑器会自以为是的"修饰"原文件中的内容。所以就会显出出一个^M来了。
^M本身对这个文本文件并没有破坏作用,不去掉它们也没有什么问题。