【vim 学习系列文章 3.1 -- vim 删除 ^M】

请阅读【嵌入式开发学习必备专栏 之 VIM 专栏】


文章目录

    • [^M 来源](#^M 来源)
      • [^M 删除](#^M 删除)

^M 来源

在 Vim 中打开文件时,您可能会遇到行尾的 ^M 字符,这通常是因为文件使用了 Windows 风格的回车换行符(CRLF),而不是 Unix/Linux 风格的换行符(LF)。在 Vim 中,^M 实际上是回车符(Carriage Return,CR)的可见表示。

^M 删除

为了删除所有行尾的 ^M 字符,您可以使用 Vim 的替换命令:

vim 复制代码
:%s/\r$//g 

在这个替换命令中:

  • :%s 是 Vim 中的全局替换命令。
  • /\r 是查找匹配的模式,\r 表示回车符(在 Vim 中是 ^M)。
  • /$ 表示行尾。
  • // 是替换部分,这里为空,代表删除匹配到的内容。
  • g 是一个标志,表示替换行中所有匹配的部分,尽管在这种情况下不是必须的,因为我们只关心每行的末尾。

按下 Enter 键执行这个命令后,文件中所有行尾的 ^M 字符都会被删除。

如果上面的命令不起作用,可能是因为文件中的 ^M 并不是真正的回车符,而是字面上的 ^ 后跟 M。在这种情况下,您可以使用另一个替换命令:

vim 复制代码
:%s/\^M$//g 

注意: 为了输入字面的 ^M,您需要按下 Ctrl-V 然后 Ctrl-M(在一些系统或配置中可能是 Ctrl-Q 然后 Ctrl-M)。

确保在执行这些操作之前,您理解文件的原始格式和为何会出现 ^M 字符,以便在处理文本时不会破坏文件内容。

相关推荐
xian_wwq19 分钟前
【学习笔记】RAG 只是 Context Engineering 的一小块-5/16
笔记·学习·rag
123_不打狼30 分钟前
零基础到就业:完整计算机视觉系统化学习路线指南
人工智能·学习·计算机视觉
iCxhust1 小时前
8088单板机VScode集成开发环境使用方法
ide·笔记·vscode·编辑器·微机原理·8088单板机
风之清扬1 小时前
AI agent学习之一基础知识
人工智能·python·学习
zzm6282 小时前
位置偏差估计与无偏排序学习——WSDM 2018论文精读笔记
笔记·学习
kdxiaojie3 小时前
Linux 驱动研究 —— SDIO (1)
linux·运维·笔记·学习·sdio
流浪打工人4 小时前
Unity3D编辑器初始化场景物体
编辑器
我能坚持多久5 小时前
优选算法——专题一双指针(上):附四道例题详解
c++·学习·算法
zzm6285 小时前
WSDM 2018论文精读:基于多关系学习与路径约束的商品替代互补关系挖掘
人工智能·学习
IT古董6 小时前
【MES学习笔记系列】MES 术语表
笔记·学习