Mostrar caracteres de substituição para espaço sem quebra no Vim

1

Gostaria de exibir espaços não padrão no Vim para que eu pudesse 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.

Após investigar, o melhor que pude fazer foi exibir o mesmo caractere de substituição para os dois tipos de espaços sem quebra usando:

:set list
:set listchars=tab:▸\ ,eol:¬,trail:\ ,nbsp:␣

Assim, o parâmetro nbsp listchars não diferencia o espaço no-break padrão e estreito (e também precisa do parâmetro trail para funcionar propriamente, a propósito).

Existe alguma solução para isso?

    
por hutou 17.02.2016 / 22:21

1 resposta

1

Você pode usar a 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émpodeusarsetconceallevel=2.

concealsubstituiçõesnãosãomostradasnalinhaemqueocursorestá.Pois,esseconjunto concealcursor :

set concealcursor=n
    
por 17.02.2016 / 22:39

Tags