如何在 vi/vim 中显示换行符和/或回车符?
我知道这set list
会显示所有空白字符 (?),它还会替换制表符 \t 等(但这不是我想要的)。基本上我只想显示某些字符,如 \r(在 Debian 上这似乎是默认设置,但在 Gentoo 上则不同)。
亲切的问候
答案1
在最新版本的 Vim 中,有一个“listchars”设置,可让您指定应使用哪些字符作为 EOL 和 TAB 字符以及尾随空格。
你可以:
set listchars=eol:$,tab:\[SPACE]\[SPACE]
...特别显示结束字符而不折叠制表符(输入空格字符,而不是[,S,P,A...)。
我不知道“listchars”设置中有关返回字符的任何具体信息,但我怀疑您可以使用语法突出显示来实现这一点。我认为 \r 字符的默认显示是用 SpecialKey 突出显示来显示它们。
因此,默认的 SpecialKey 突出显示 \r 字符,结合上述设置“listchars”,应该接近您的需要。
:highlight SpecialKey ctermfg=5
...如果你喜欢洋红色。
答案2
重新DOS
打开格式化的文本文件,UNIX
格式为:
:e ++ff=unix
您将^M
在行尾看到 (\r)。
如果您想^M
以十六进制显示:
:set dy=uhex
答案3
将以下行添加到您的.vimrc
文件:
set fileformats=unix
这导致 vim 本身仅支持 unix 样式的文件。对于非 Unix 样式的行尾,回车符\r
将在 vim 中明确显示为^M
。