通过列表查询仅为前导空格显示“空格”字符

时间:2016-11-08 23:40:11

标签: vim vi

Vim是否可以拥有我的编辑器(编辑b.c文件时),通过.h显示,仅限领先的特殊字符太空人物?

我发现一个单独的帖子指出,从版本7.4开始,Vim现在支持通过listchars突出显示所有空格字符。这是我当前的listchars变量:

listchars

以下是我在屏幕上的显示效果:

This it appear on my screen

但是,我希望它看起来如此(下图),其中只有前导空格通过set list listchars=tab:>-,trail:.,extends:>,precedes:<,space:. 呈现,并且不会呈现与缩进相关的空格后出现的空格。即:

The desired behaviour

有没有一种简单的方法可以通过配色方案或listchars更改来实现这一目标?

由于对比度低而差异不明显的图像差异:

Image diff in case the difference isn't obvious due to low contrast

1 个答案:

答案 0 :(得分:8)

我不认为linechars会对你有帮助,但这个亮点可能有所帮助:

highlight WhiteSpaceBol guibg=lightgreen
match WhiteSpaceBol /^ \+/

根据您最喜欢的方式更改配色方案。

如果你坚持使用幻想·,你可以通过一些黑客攻击它们:

set listchars=space:·
highlight WhiteSpaceBol guifg=blue
highlight WhiteSpaceMol guifg=white
match WhiteSpaceMol / /
2match WhiteSpaceBol /^ \+/

现在,只有起始·可见! (将white更改为用作背景的任何颜色,并使用您选择的颜色更改blue

注意:如果您使用控制台Vim,请用guibg替换(或添加)ctermbg和正确的颜色。