Acabei de descobrir que, embora isso não seja tecnicamente possível, é possível trapacear e inserir caracteres especiais de espaço em branco Unicode (não o caractere de espaço regular) como o caractere a ser exibido em uma guia. Embora isso ainda use a cor de realce hl-NonText
do vim, é certamente menos invasivo.
Em outras palavras, faça isso (ou similar):
set listchars=tab: ,trail:·,extends:>,precedes:<,nbsp:%
Os dois caracteres após tab:
são não caracteres de espaço regulares - eles são U + 2002 . Você pode inseri-los no próprio vim com Ctrl-V u 2 0 0 2 (no modo de inserção).
Até agora, não notei nenhum efeito colateral desagradável.