然后文本将在每行的末尾显示^ M.
如何隐藏显示的特殊字符?
:set nolist命令“”“不解雇它。 我很难过。
更新
我做了:设置fileformats = unix,dos作为列表,但它最初没有用。我关闭了文件并重新打开它并且它有效。 默认情况下,我将fileformats设置为仅unix值。谢谢你的回答。
答案 0 :(得分:30)
您可能希望将fileformat
设置为dos
。
:ed ++ff=dos %
答案 1 :(得分:20)
隐藏它们:
:set fileformats=dos
要删除它们(以便以后可以将文件另存为unix文件):
:%s/\r//g
答案 2 :(得分:7)
虽然一劳永逸地以DOS或Unix格式召开会议当然是一种更好的方法,但有时候一些同事并不关心正确的源代码管理,以使他们的编辑能够表现出来。
在那些绝望的情况下,不是完全转换文件(导致文件完全由你自己根据SCM重写,使“责备”功能无用),我发现最好只假装问题没有存在。如果编译器适应,并且PHP无论如何是,那么使用以下命令可以使混合EOL文件看起来非常酷:
:match Invisible /\r$/
或者在较新版本的VIM 7.4 +
中:match Ignore /\r$/
更糟糕的是,大多数GUI编辑器不用换行符结束文本文件,当文件以换行符结尾时,它们在底部显示空行。由于这有点烦人,大多数人会删除那个空行,如果文件格式是DOS,将导致混合EOL文件(以及在Vim中显示的可怕^ Ms)。
如果有人知道如何让Eclipse或NetBeans尊重换行终止而不显示空的最后一行(正如Vim巧妙地做的那样),请分享您的知识,并且您将在这里让编码人员高兴。 ; - )
答案 3 :(得分:1)
通常会自动检测文件格式。您的文件中必须包含混合的Unix和DOS / Windows行。
尝试这个来清理它(“clean”= unix格式):
% tr -d '\015' < old.file > new.file
答案 4 :(得分:0)
:0,$ s/<ctrl-v><ctrl-m>//g
:set ff=dos
答案 5 :(得分:0)
使用命令:
:1,$ s/^v^M/ /g
答案 6 :(得分:0)
我想指出的是,如果你使用完整的VIM(至少在我的ubuntu 9.10盒子上),它“做你想要的”并自动隐藏它,但是股票vi(和vim-tiny)不要自动隐藏^ M.如果你进行最小安装(或服务器安装),你只能获得vi和vim-tiny。我找到的修复是在我的ubuntu盒子上安装适当的vim(apt-get install vim)。希望能帮助出现这个主题的人出于同样的原因:-D