Vim在每一行结束时显示^M。

我如何用在Vim中打开的文件中的普通换行符替换它?


当前回答

我用sed做了这个:

Sed -i -e 's/\r/\n/g'文件名

其他回答

或者不使用vim,只需使用此命令修复换行符

fromdos <filename.txt>

希望能有所帮助!

这些方法对我都不起作用,所以我尝试了这个,它起作用了:

类型:% s /

新闻CTRL-VCTRL-M

/ / g型

按回车键

因此,Vim中的整个命令应该看起来像:%s/^M//g

它的作用是:%s(查找并替换)/^M/(该符号)/(不含字符)g(全局)。

为了节省击键次数,可以将其放在映射中,从而避免键入Ctrl+VCtrl+M。只要打开一个包含^M字符的文件,把它拉出来,然后把它粘贴到你的.vimrc中的一行中:

nnoremap <Leader>d :%s/^M//g<CR>

在VIM命令模式下:

:e ++ff=dos | setl ff=unix | up

e++ ff=dos -强制打开dos格式的文件。

Setl ff=unix -将文件转换为unix格式。

上保存文件时,仅当已修改。

这招对我很管用:

设置文件格式为unix (\n行结束) 保存文件

在vim中:

:set ff=unix
:w