
Me gustaría mostrar espacios no estándar en Vim para poder distinguir el espacio sin interrupción (U+00A0) del espacio estrecho sin interrupción (U+202F) usando, por ejemplo, caracteres Unicode de reemplazo como ␣ (U+2423) y ⸤ (U+2E24) respectivamente.
Después de investigar, lo mejor que pude hacer fue mostrar el mismo carácter de reemplazo para ambos tipos de espacios sin interrupciones usando:
:set list
:set listchars=tab:▸\ ,eol:¬,trail:\ ,nbsp:␣
Por lo tanto, el parámetro listchars nbsp no diferencia el espacio sin interrupción estándar y estrecho (y, por cierto, también necesita el parámetro trail para funcionar correctamente).
¿Existe alguna solución para esto?
Respuesta1
Puede utilizar la coincidencia de sintaxis y conceal
:
set conceallevel=1
syn match NBSP '\%xa0' conceal cchar=␣
syn match NarrowNBSP '\%u202F' conceal cchar=⸤
El efecto:
También podrías usar set conceallevel=2
.
conceal
los reemplazos no se muestran en la línea en la que está el cursor. Para ese conjuntoconcealcursor
:
set concealcursor=n