在windows上的gvim中,如果我有CRLFeol的文本,那么文本将在每行的末尾显示^M。如何隐藏特殊字符使其不显示?:set nolist command """不会忽略它。
gvim
CRLF
eol
^M
:set nolist command """
我把:set fileformats=unix,dos作为一个列表,一开始它不起作用,但是我关闭了文件,重新打开它,它起作用了。默认情况下,我只将文件格式设置为unix值。谢谢你的回答。
:set fileformats=unix,dos
mu0hgdu01#
您可能需要将fileformat设置为dos。
fileformat
dos
:ed ++ff=dos %
35g0bw712#
要隐藏它们:
:set fileformats=dos
要删除它们(以便以后可以将文件保存为UNIX文件):
:%s/\r//g
nkoocmlb3#
虽然一劳永逸地讨论DOS或Unix当然是更好的方法,但有时一些同事只是不太关心适当的源代码管理,以使他们的编辑行为规范。在那些绝望的情况下,与其完全转换文件(导致文件完全由您自己根据SCM重写,使"blake"函数变得无用),我发现最好假装问题不存在。如果编译器是兼容的,并且PHP无论如何都是 * is *,您可以使用以下命令得到一个看起来非常酷的混合EOL文件:
:match Invisible /\r$/
或在VIM 7.4+的较新版本中
:match Ignore /\r$/
更糟糕的是,大多数GUI编辑器 * 不 * 以换行符结束文本文件,当文件以换行符结束时,它们会在底部显示一个空行。由于这有点烦人,大多数人会删除空行,如果文件格式是DOS,这将导致混合EOL文件(以及Vim中可怕的^M)。如果有人知道如何使Eclipse或NetBeans在不显示空的最后一行的情况下接受换行符终止(就像Vim巧妙地做到的那样),* 请 * 分享你的知识,你会使程序员在这里感到高兴。-)
wdebmtf24#
文件格式通常是自动检测的。您的文件中必须混合了Unix和DOS/Windows行。尝试这个来清理它(其中“clean”= unix):
% tr -d '\015' < old.file > new.file
aurhwmvo5#
:0,$ s/<ctrl-v><ctrl-m>//g :set ff=dos
kr98yfug6#
我想指出的是如果你使用的是成熟的VIM(至少在我的ubuntu9.10盒子上)它“做你想做的”并且自动隐藏它,但是股票(和vim-tiny)不要自动隐藏^M。如果您执行最小安装(或者服务器安装)你只能得到vi和vim-tiny。我发现修复是安装正确的vim(apt-get install vim)在我的ubuntu盒子上。希望这能帮助那些因为和我一样的原因而沿着这个主题的人:-D
fcy6dtqo7#
使用以下命令:
:1,$ s/^v^M/ /g
1wnzp6jl8#
当我的neovim在node_modules的一些文件中向我显示这些丑陋的^M时,我通过向BufWinEnter添加以下代码来修复此问题:
node_modules
BufWinEnter
if char2nr(getline(1)[-1:-1]) == 13 e ++ff=dos endif
8条答案
按热度按时间mu0hgdu01#
您可能需要将
fileformat
设置为dos
。35g0bw712#
要隐藏它们:
要删除它们(以便以后可以将文件保存为UNIX文件):
nkoocmlb3#
虽然一劳永逸地讨论DOS或Unix当然是更好的方法,但有时一些同事只是不太关心适当的源代码管理,以使他们的编辑行为规范。
在那些绝望的情况下,与其完全转换文件(导致文件完全由您自己根据SCM重写,使"blake"函数变得无用),我发现最好假装问题不存在。如果编译器是兼容的,并且PHP无论如何都是 * is *,您可以使用以下命令得到一个看起来非常酷的混合EOL文件:
或在VIM 7.4+的较新版本中
更糟糕的是,大多数GUI编辑器 * 不 * 以换行符结束文本文件,当文件以换行符结束时,它们会在底部显示一个空行。由于这有点烦人,大多数人会删除空行,如果文件格式是DOS,这将导致混合EOL文件(以及Vim中可怕的^M)。
如果有人知道如何使Eclipse或NetBeans在不显示空的最后一行的情况下接受换行符终止(就像Vim巧妙地做到的那样),* 请 * 分享你的知识,你会使程序员在这里感到高兴。-)
wdebmtf24#
文件格式通常是自动检测的。您的文件中必须混合了Unix和DOS/Windows行。
尝试这个来清理它(其中“clean”= unix):
aurhwmvo5#
kr98yfug6#
我想指出的是如果你使用的是成熟的VIM(至少在我的ubuntu9.10盒子上)它“做你想做的”并且自动隐藏它,但是股票(和vim-tiny)不要自动隐藏^M。如果您执行最小安装(或者服务器安装)你只能得到vi和vim-tiny。我发现修复是安装正确的vim(apt-get install vim)在我的ubuntu盒子上。希望这能帮助那些因为和我一样的原因而沿着这个主题的人:-D
fcy6dtqo7#
使用以下命令:
1wnzp6jl8#
当我的neovim在
node_modules
的一些文件中向我显示这些丑陋的^M
时,我通过向BufWinEnter
添加以下代码来修复此问题: