在VIM中使用以下代码的概念 如何使标签为浅灰色背景,空格为蓝色背景
" part of ~/.vimrc
" highlight tabs and trailing spaces
set listchars=tab:>-,trail:-
set list
答案 0 :(得分:22)
如果您在~/.vimrc
中使用这些选项,那么您肯定已经阅读了:help 'list'
和:help 'listchars'
但是从您的问题来看,如果您发现最后两行并不是很清楚:help 'listchars'
:
The "NonText" highlighting will be used for "eol", "extends" and
"precedes". "SpecialKey" for "nbsp", "tab" and "trail".
选项卡和尾随空格使用相同的突出显示组,因此您无法为这些突出显示组提供不同的背景颜色。但是你不需要不同的颜色,因为你已经将它们设置为由不同的角色代表。
答案 1 :(得分:6)
这是一种方式:
首先创建两个hi-groups:
:hi GroupA ctermbg=blue ctermfg=.. guibg=...
:hi GroupB ctermbg=gray ctermfg=.. guibg=..
然后
:match GroupA / \+$/
:2match GroupB /\t/
答案 2 :(得分:5)
你不能,至少不能以100%正确的简单方式。
正如@romainl所说,Vim只为表示字符的所有listchar类型提供一个突出显示组,即。 SpecialKey
。
@Kent的变通方法实现有几个缺点:
:autocmd
来为新窗口定义它。'list'
是否实际设定;不可能直接进行改变。:match
个插槽;这可以通过matchadd()
来防止,但它的使用更复杂。因此,请仔细思考该功能是否真的值得。