
Eu gostaria de exibir espaços não padrão no Vim para poder distinguir o espaço No-Break (U+00A0) do espaço Narrow No-Break (U+202F) usando, por exemplo, caracteres Unicode de substituição como ␣ (U+2423) e ⸤ (U+2E24) respectivamente.
Depois de investigar, o melhor que pude fazer foi exibir o mesmo caractere de substituição para ambos os tipos de espaço sem interrupção usando:
:set list
:set listchars=tab:▸\ ,eol:¬,trail:\ ,nbsp:␣
Portanto, o parâmetro listchars nbsp não diferencia espaço no-break padrão e estreito (e também precisa do parâmetro trail para funcionar corretamente, aliás).
Existe alguma solução alternativa para isso?
Responder1
Você pode usar correspondência de sintaxe e conceal
:
set conceallevel=1
syn match NBSP '\%xa0' conceal cchar=␣
syn match NarrowNBSP '\%u202F' conceal cchar=⸤
O efeito:
Você também pode usar set conceallevel=2
.
conceal
as substituições não são mostradas na linha em que o cursor está. Pois, esse conjuntoconcealcursor
:
set concealcursor=n