Vim在每一行结束时显示^M。
我如何用在Vim中打开的文件中的普通换行符替换它?
Vim在每一行结束时显示^M。
我如何用在Vim中打开的文件中的普通换行符替换它?
当前回答
^M给出不需要的换行符。要处理这个问题,我们可以使用sed命令,如下所示:
sed 's/\r//g'
其他回答
^M是由Ctrl+V和M检索的
s/^M//g
首先,使用:set ff?来确定文件的格式。
我猜可能是unix,那么问题是你的文件是用fileformat=dos创建的,在行末添加“^M^J”,但用flieformat=unix读取,只从行末删除“^J”,留下“^M”。
只需在Vim命令行中输入:e++ ff=dos即可将文件格式从unix更改为dos。这应该能解决问题。如果不是,:%s/\r//g会帮助你。
这些方法对我都不起作用,所以我尝试了这个,它起作用了:
类型:% s /
新闻CTRL-VCTRL-M
/ / g型
按回车键
因此,Vim中的整个命令应该看起来像:%s/^M//g
它的作用是:%s(查找并替换)/^M/(该符号)/(不含字符)g(全局)。
比如: : % s / \ r / / g 这招对我很管用。
它的作用是清除所有行的末尾,去掉^M,就是这样。
以上这些方法对我都没用。(替换\r, ^M, ctrl-v-ctrl-m) 我使用复制和粘贴将我的文本粘贴到一个新文件中。
如果你有宏干扰,你可以尝试:在粘贴操作之前设置粘贴,在粘贴操作之后:设置nopaste。