Vim在每一行结束时显示^M。
我如何用在Vim中打开的文件中的普通换行符替换它?
Vim在每一行结束时显示^M。
我如何用在Vim中打开的文件中的普通换行符替换它?
当前回答
首先,使用:set ff?来确定文件的格式。
我猜可能是unix,那么问题是你的文件是用fileformat=dos创建的,在行末添加“^M^J”,但用flieformat=unix读取,只从行末删除“^J”,留下“^M”。
只需在Vim命令行中输入:e++ ff=dos即可将文件格式从unix更改为dos。这应该能解决问题。如果不是,:%s/\r//g会帮助你。
其他回答
在Solaris:
: %。s /; rolelabel CTRL + V > 50%的CTRL + M / / g
那就是:
: % s / M ^ / / g
这意味着:
% =所有行, S =代入, ^M =你想要替换的东西 // =替换为空 G =全局(不仅是第一次出现)
在windows下,尝试:%s/<C-Q><C-M>/g
在Linux和Mac OS上,以下工作,
:%s/^V^M/^V^M/g
其中^V^M意味着输入Ctrl+V,然后Ctrl+M。
注意:在Windows上,你可能想使用^Q而不是^V,因为默认情况下^V被映射为粘贴文本。
只需删除二进制文件在你的。vimrc!
为了节省击键次数,可以将其放在映射中,从而避免键入Ctrl+VCtrl+M。只要打开一个包含^M字符的文件,把它拉出来,然后把它粘贴到你的.vimrc中的一行中:
nnoremap <Leader>d :%s/^M//g<CR>