我的vim显示选项卡为--->,但不显示windows ^ M字符.
而且,如何在vim中替代它.
更新============
我检查我的vimrc它是设置fileformat = unix但是当我打开一个dos文件时设置ff是dos
小智 69
:e ++ ff = unix
:setlocal ff = unix
:w
:e
Dig*_*oss 62
除了一种情况外,Vim确实显示^ M:如果fileformat = dos,那么它将不会显示尾随的crlf.
您可以通过键入找出您拥有的格式(unix或dos):set
,只需更改格式(:set fileformat=unix
)然后写出文件即可删除crlf中的^ M.
如果你在行的中间有一个^ M,那么你应该能够看到它,即使是在一个fileformat=dos
文件中,你也可以将它与模式匹配\r
.(奇怪的是,对于subsituting换行的语法是\r
在子的更换部件,所以方式之一改变^ M来^ N是由未在-所有-A-空操作:s/\r/\r/
).
小智 9
要从 vim 中删除 ^M 字符:在命令模式下键入
%s/
Run Code Online (Sandbox Code Playgroud)
其次是
ctrl+v and Enter.
Run Code Online (Sandbox Code Playgroud)
它应该看起来像:
%s/^M
Run Code Online (Sandbox Code Playgroud)
最后替换为空白字符:
%s/^M//g
Run Code Online (Sandbox Code Playgroud)
老式的方式 - 即使在 vi 中也能工作:
vim -b filename
:%s/^V^M//g
:x
Run Code Online (Sandbox Code Playgroud)
说明:
vim正在自动检测fileformat和切换模式以匹配(看看set ff
)
如果要强制它以特定模式打开,请抛出+ff=unix
(以显示^ M)或+ff=dos
在命令行中以该模式打开它.如果您在Windows框中,请:e ++ff=unix
在打开文件后尝试.
如果您试图将这些字符删除,可以在一种模式下打开它,将ff设置为您想要的,然后保存文件.查看:h ff
更多详细信息.