我一直在。vimrc中得到^M字符,它破坏了我的 配置。
当前回答
这是唯一对我有效的方法:
: ff + + =
:wq
其他回答
如果您没有故意指定不同的文件格式(例如,对于Windows文件,:e++ ff=unix),很可能目标文件的eol是混合的。
例如,如果一个文件有一些行以<CR><NL>结尾,而其他行以 <NL>结尾,文件格式被Vim读取时自动设置为unix, ^M (<CR>)将出现。 在这种情况下,文件格式(注意:有一个额外的s)发挥作用。详情见:help ffs。
翻译新行而不是删除它:
:%s/\r/\r/g
在Unix中,使用'tr'命令可能更容易。
cat file1.txt | tr "\r" "\n" > file2.txt
我发现,由于我的Homebrew Mvim实例被设置为使用filetype=dos,我已经污染了几个星期的文件。在.vimrc....中进行了所需的更改
在FreeBSD中,您可以通过输入以下命令手动清除^M:
%s/按Ctrl+V,然后按Ctrl+M,再按Ctrl+M。