当前位置:  开发笔记 > 开发工具 > 正文

即使文件模式明确是DOS,gVim也会显示回车符(^ M)

如何解决《即使文件模式明确是DOS,gVim也会显示回车符(^M)》经验,为你挑选了5个好方法。

我在Windows上使用gVim.我的代码^M在行尾显示字符.我:set ff=dos以前没有用.^M现有行的字符仍然存在,但不会显示我输入的换行符.我已将模式切换为mac(显示^J字符)和unix(也显示^M字符)并返回dos.有没有人见过这个?



1> richq..:

当你有Windows行结尾和Unix行的结尾时会发生这种情况.如果您有100行,其中99是\ r \n,其中一行是\n,您将看到99 ^ M个字符.修复是找到一行并替换它.或者在文件上运行dos2unix.您可以使用以下命令替换Windows行结尾:

:%s/\r\(\n\)/\1/g


我通常只用':%s/^ M //'敲打它们
我希望我能为你+1000

2> beckelmw..:

你也可以运行:

:e ++ff=dos

要删除^M:请参阅文件格式 - Vim Tips Wiki.


这就是我所寻找的,也是真正正确的答案.谢谢.

3> Evan..:

我通常使用以下内容来清理我的行结尾:

:g/^M$/s///

为了获得ctrl-M,我通常输入ctrl-Q,然后ctrl-M并将它放入.(在某些环境中它可能是ctrl-V然后ctrl-M.)我不知道为什么,但我发现比rq更容易记住.

不要忘记这样做:set ff=dos,否则你最终还是会保存UNIX行结尾.



4> 小智..:

我知道这已经得到了解答,但我使用的技巧是

:%s/\r/\r/g

这将使用Windows CRLF替换unix回车.只是添加以防其他人有问题.



5> IvanM..:

你可以忽略这些字符!

把它放到你的vimrc中

匹配Ignore /\r $//

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有