fireyecat 2022-05-16 12:44
浏览 6
已结题

在 vim 的 substitute 操作中,用什么符号表示end-of-line?

今天 macOS 终端里想用 vim 把文本文件里,以**结尾的一行下面加一个空白行。

首先,用了以下命令:
:%s/\*\*\n/\*\*\n\n/g
结果原本的换行,变成了^@^@。

接着尝试
:%s/\*\*\n/\*\*\r\r/g
达到了预期的效果。以**结尾的一行下面多了一个空白行。

接着又尝试
:%s/\*\*\r/\*\*\r\r/g
结果是:E486 Pattern not found:\*\*\r

这下让人更迷惑了,待替换的换行符要用 \n 表示;替换用的换行符用 \r 表示??
该文本文件的 fileformat=unix 。

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 5月24日
    • 修改了问题 5月16日
    • 修改了问题 5月16日
    • 创建了问题 5月16日

    悬赏问题

    • ¥20 java-OJ-健康体检
    • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
    • ¥15 使用phpstudy在云服务器上搭建个人网站
    • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
    • ¥15 vue3+express部署到nginx
    • ¥20 搭建pt1000三线制高精度测温电路
    • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
    • ¥15 画两个图 python或R
    • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
    • ¥15 八路抢答器设计出现故障