隐藏Vim中的角色而不影响它的突出显示方式

bet*_*eta 3 vim vim-syntax-highlighting

我想显示'␣'而不是非破坏空格,因为默认情况下它们是不可见的,并将以下行添加到我的vimrc:

syntax match nonbreaking "\%xa0" conceal cchar=?
set conceallevel=1
highlight nonbreaking ctermbg=NONE guibg=NONE
Run Code Online (Sandbox Code Playgroud)

虽然这有效,但它也为所有出现的不间断空格添加了背景颜色 - 即使是使用以下{cterm,gui}bg=NONE行:

在此输入图像描述

有没有办法在"␣"后面"隐藏"U + 00ad而不影响它的突出显示方式?

zmo*_*zmo 5

好吧,这不是你关于隐藏字符背景的问题的直接答案,尽管这是你问题的解决方案:

要显示不可破坏的空格,因为?您应该更好地使用该listchars设置:

:set listchars=nbsp:?
Run Code Online (Sandbox Code Playgroud)

这是我的完整listchars设置,万一你感兴趣:

:set listchars=eol:¶,trail:~,extends:?,precedes:?,tab:? ,nbsp:?
Run Code Online (Sandbox Code Playgroud)

这不会影响颜色.

更多关于它 :he listchars

HTH