仅针对前导空格通过 listchars 显示 'space' 字符
Show 'space' character via listchars only for leading spaces
是否可以在 Vim 中让我的编辑器(编辑 .c
和 .h
文件时)通过 listchars
显示,一个特殊字符仅用于 leading space 个字符?
我找到了一个单独的 post,其中指出,从 7.4 版开始,Vim 现在支持通过 listchars
突出显示所有 space 个字符。这是我当前的 listchars
变量:
set list listchars=tab:>-,trail:.,extends:>,precedes:<,space:.
这是它在我的屏幕上的效果图:
但是,我希望它看起来像这样(如下),其中只有 leading spaces 通过 listchars
呈现,并且 spaces 发生在与缩进相关的 spaces 之后不会被渲染。即:
是否有一种简单的方法可以通过配色方案或 .vimrc
更改来实现?
图像差异,以防由于对比度低而导致差异不明显:
我认为 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
和适当的颜色。
是否可以在 Vim 中让我的编辑器(编辑 .c
和 .h
文件时)通过 listchars
显示,一个特殊字符仅用于 leading space 个字符?
我找到了一个单独的 post,其中指出,从 7.4 版开始,Vim 现在支持通过 listchars
突出显示所有 space 个字符。这是我当前的 listchars
变量:
set list listchars=tab:>-,trail:.,extends:>,precedes:<,space:.
这是它在我的屏幕上的效果图:
但是,我希望它看起来像这样(如下),其中只有 leading spaces 通过 listchars
呈现,并且 spaces 发生在与缩进相关的 spaces 之后不会被渲染。即:
是否有一种简单的方法可以通过配色方案或 .vimrc
更改来实现?
图像差异,以防由于对比度低而导致差异不明显:
我认为 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
和适当的颜色。