2009-05-24 68 views
19

制作灰EOL字符我想有一个灰色的EOL字符由无法通过的.vimrc

set list listchars=tab:>>,trail:$ 

那里有没有空格旁边的字符集“:”

我得到没有EOL字符为上述代码,如果我使用“:”旁边没有空格。

我得到一个绿色的尾随字符,如果我用一个空间在

- - tab:[space]>> -- 

虽然我没有将它设置明确

这样

alt text http://dl.getdropbox.com/u/175564/trailingCharacter.png (旧代码终端)

你怎么能在Vim中使用eol字符灰色,并使其重新工作?

+1

“我现在得到以下错误: E474:无效的参数:listchars =标签:»” 看来,你没有写“设置listchars =标签:» '而不是' 设置listchars =标签:> >”。第二种情况是正确的,在冒号后面有“更大”的标记。在第一种情况下,您有“»”号,它是一个字符。 另外,正如sykora所说,你不应该在“>>”和“trail:”之后写空格。所以这里是你应该写的: set list listchars = tab:>>,trail:$ – hcs42 2009-05-26 06:23:45

+0

@ hcs42:在>>和$之后我现在没有空格了。我现在得到没有E474-恐怖消息,但我现在没有结尾字符。 – 2009-05-26 19:08:07

+0

默认蓝色的男孩很难读。 – 2013-05-28 00:31:53

回答

31

有两个高亮显示组:SpecialKey和NonText。您提到的尾部字符属于NonText字符。

尝试这样的事情(Y /粘贴):

set list 
set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:< 
hi NonText ctermfg=7 guifg=gray 

这是否对你的工作,还是我理解这个问题错了(很可能)。

7

trailtabnbsp listchars使用SpecialKey高亮组,所以你可以使用这个:

highlight SpecialKey ctermfg=8 

使$符号灰色。如果启用了256种颜色,则可以使用不同的灰色阴影,如243等。

4

如果你想EOL是灰色的,指定EOL子选项的listchars代替线索

set list listchars=tab:>>,eol:$ 

线索显示了不必要的空格字符的行结束,而不是线条本身的结束。

如果你想设置EOL的颜色,你必须设置NonText组的高亮:

highlight NonText ctermfg=8 guifg=gray 

如果同时指定ctermfgguifg,高亮将在GUI工作都并在一个终端。

我要指出,虽然一些不足之处:

  • 缓冲区结束后的波浪字符的高亮是相同 为一体的EOL-迹象突出。我认为不可能把 分开;其突出显示均由突出显示 的NonText决定。所以如果你设置灰色的EOL,你将会是灰色的波浪线。
  • 在我的终端上,ctermfg=8变成红色而不是灰色文本。