【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 字符,以便在处理文本时不会破坏文件内容。

相关推荐
La Pulga1 小时前
【FreeRTOS源码学习笔记】空闲任务与阻塞延时
笔记·mcu·学习·嵌入式·freertos·实时操作系统
蒸蒸yyyyzwd1 小时前
秋招学习笔记 day106
笔记·学习
小李不想当小白2 小时前
WDG看门狗(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
NextTech_4 小时前
不想学 vim,怎么改服务器上的配置文件?
服务器·编辑器·vim
lisw055 小时前
作为人类代理的大语言模型及其角色分类!
人工智能·学习·语言模型
Z21-X5 小时前
云原生运维实战笔记:企业网站综合上云部署与云运维服务全景解析
运维·笔记·学习·云原生
坤坤子吖5 小时前
Linux网络编程:UDP进阶,从字典服务器到简单聊天室
linux·服务器·网络·c++·笔记·学习
Rabitebla6 小时前
【Linux学习笔记】进程篇(九):进程的创建与退出——fork、写时拷贝与退出码
linux·c++·笔记·学习
楚山之石6 小时前
【MRM】CAPLEX 对比剂灌注 MRI 开源术语库:ISMRM OSIPI 共识报告
图像处理·人工智能·学习·mri
前进的李工17 小时前
Agent 学习笔记 05:系统提示词应该怎么写
笔记·学习·prompt·agent·个人开发·few-shot·ai应用开发