无法通过.vimrc制作灰色eol字符

时间:2009-05-24 14:55:38

标签: vim colors

我想通过

设置一个灰色的eol字符集
set list listchars=tab:>>,trail:$

字符“:”旁边没有空格

如果我在“:”旁边没有空格,我会得到 no eol character

如果我在

使用一个空格,我会得到一个绿色的尾随字符
- - tab:[space]>> --

虽然我没有明确地设置

这样

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

如何在Vim中将eol字符变为灰色并使其再次运行?

3 个答案:

答案 0 :(得分:34)

有两个突出显示组:SpecialKey和NonText。您提到的尾随字符属于NonText字符。

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

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

这对你有用,还是我理解错误的问题(很可能)。

答案 1 :(得分:8)

trailtabnbsp列表人员使用SpecialKey突出显示组,因此您可以使用此功能:

highlight SpecialKey ctermfg=8

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

答案 2 :(得分:4)

如果您希望 eol 为灰色,请指定{em> eol 子选项listchars而不是 trail

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

trail 在行尾显示不必要的空格字符,而不是行本身的末尾。

如果要设置 eol 的颜色,则必须设置NonText组的突出显示:

highlight NonText ctermfg=8 guifg=gray

如果同时指定ctermfgguifg,突出显示将在GUI和终端中都有效。

我必须指出一些缺点:

  • 在缓冲区结束后突出显示的波形符是 与eol-signs的突出显示相同。我认为这是不可能的 分开那些;他们的突出显示都是由突出显示决定的 NonText。因此,如果你设置灰色eols,你将会变成灰色。
  • 在我的终端上,ctermfg=8制作红色而非灰色文字。