我想显示'␣'而不是非破坏空格,因为默认情况下它们是不可见的,并将以下行添加到我的vimrc
:
syntax match nonbreaking "\%xa0" conceal cchar=␣
set conceallevel=1
highlight nonbreaking ctermbg=NONE guibg=NONE
虽然这有效,但它也会为所有出现的不间断空格添加背景颜色 - 即使使用{cterm,gui}bg=NONE
行:
有没有办法在“␣”后面“隐藏”U + 00ad而不影响它的突出显示方式?
答案 0 :(得分:5)
嗯,这不是关于隐藏字符背景的问题的直接答案,尽管这是解决问题的方法:
要将不可分隔的空格显示为␣
,您应该更好地使用listchars
设置:
:set listchars=nbsp:␣
这是我完整的listchars
设置,以防您感兴趣:
:set listchars=eol:¶,trail:~,extends:⫸,precedes:⫷,tab:▸ ,nbsp:␣
这不会影响颜色。
有关它的更多信息:he listchars
HTH
答案 1 :(得分:2)
我还建议不要使用隐藏功能,因为它会干扰现有的语法高亮显示; @zmo建议使用'listchars'
是优选的(但:set list
有副作用,例如包装也是如此。)
为了完整起见,您可以通过Conceal
突出显示组来影响隐藏字符的视觉外观。
:hi clear Conceal
清除现有的突出显示。